2007-03-30 [colin] 2.8.1cvs70
authorColin Leroy <colin@colino.net>
Fri, 30 Mar 2007 20:06:18 +0000 (20:06 +0000)
committerColin Leroy <colin@colino.net>
Fri, 30 Mar 2007 20:06:18 +0000 (20:06 +0000)
* src/common/socket.c
Better error reporting on unix socket
failure (bind usually)
* src/gtk/gtkutils.c
* src/gtk/gtkutils.h
Label window: add a pulsing progress
bar to show we're not hung :)
* src/folderview.c
* src/main.c
* src/plugins/pgpcore/sgpgme.c
Update API

ChangeLog
PATCHSETS
configure.ac
src/common/socket.c
src/folderview.c
src/gtk/gtkutils.c
src/gtk/gtkutils.h
src/main.c
src/plugins/pgpcore/sgpgme.c

index 98d566ec42cae0eddd756cdc8fc8fe67da42c8fd..6369228a681648c7d2038e317dab35c560245f95 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2007-03-30 [colin]     2.8.1cvs70
+
+       * src/common/socket.c
+               Better error reporting on unix socket
+               failure (bind usually)
+       * src/gtk/gtkutils.c
+       * src/gtk/gtkutils.h
+               Label window: add a pulsing progress
+               bar to show we're not hung :)
+       * src/folderview.c
+       * src/main.c
+       * src/plugins/pgpcore/sgpgme.c
+               Update API
+
 2007-03-30 [colin]     2.8.1cvs69
 
        * src/pop.c
index 1c4263fede717f4756d0dc5a44035e175556f074..8bb25c073b31b3fa0150dc9292dd65cbfcec1287 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.3.2.14 -r 1.3.2.15 src/prefs_ext_prog.c;  ) > 2.8.1cvs67.patchset
 ( cvs diff -u -r 1.274.2.182 -r 1.274.2.183 src/mainwindow.c;  cvs diff -u -r 1.395.2.293 -r 1.395.2.294 src/summaryview.c;  cvs diff -u -r 1.68.2.35 -r 1.68.2.36 src/summaryview.h;  ) > 2.8.1cvs68.patchset
 ( cvs diff -u -r 1.56.2.48 -r 1.56.2.49 src/pop.c;  cvs diff -u -r 1.204.2.127 -r 1.204.2.128 src/prefs_common.c;  ) > 2.8.1cvs69.patchset
+( cvs diff -u -r 1.207.2.157 -r 1.207.2.158 src/folderview.c;  cvs diff -u -r 1.115.2.150 -r 1.115.2.151 src/main.c;  cvs diff -u -r 1.13.2.30 -r 1.13.2.31 src/common/socket.c;  cvs diff -u -r 1.5.2.56 -r 1.5.2.57 src/gtk/gtkutils.c;  cvs diff -u -r 1.4.2.33 -r 1.4.2.34 src/gtk/gtkutils.h;  cvs diff -u -r 1.1.2.43 -r 1.1.2.44 src/plugins/pgpcore/sgpgme.c;  ) > 2.8.1cvs70.patchset
index 3dba4aceeae3744275992f125d921dc3bdd88095..8ba295437e36a35a0edac23e431a4b29eae30e5e 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=8
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=69
+EXTRA_VERSION=70
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 6d8c7003e9d9be7ee979b82f0e537dbec5aff766..ad6921064a88aecd35c5ac0c417935c451ee2fbe 100644 (file)
@@ -294,13 +294,17 @@ gint fd_open_unix(const gchar *path)
        strncpy(addr.sun_path, path, sizeof(addr.sun_path) - 1);
 
        if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
-               perror("bind");
+               gchar *buf = g_strdup_printf("can't bind to %s", path);
+               perror(buf);
+               g_free(buf);
                close(sock);
                return -1;
        }
 
        if (listen(sock, 1) < 0) {
-               perror("listen");
+               gchar *buf = g_strdup_printf("can't listen on %s", path);
+               perror(buf);
+               g_free(buf);
                close(sock);
                return -1;              
        }
index dd12069064fac398c9d1e74dc733d3161723f8ef..e933b548b3473b0ddd99e175c4a57f6f5145d890 100644 (file)
@@ -1101,7 +1101,7 @@ void folderview_rescan_tree(Folder *folder, gboolean rebuild)
                                        GTK_SCROLLED_WINDOW(folderview->scrolledwin));
                gtk_adjustment_set_value(pos, height);
        }
-       gtk_widget_destroy(window);
+       label_window_destroy(window);
        inc_unlock();
 }
 
@@ -1141,7 +1141,7 @@ void folderview_fast_rescan_tree(Folder *folder)
                                        GTK_SCROLLED_WINDOW(folderview->scrolledwin));
                gtk_adjustment_set_value(pos, height);
        }
-       gtk_widget_destroy(window);
+       label_window_destroy(window);
        inc_unlock();
 }
 
@@ -1269,7 +1269,7 @@ void folderview_check_new_all(void)
        folder_write_list();
        folderview_set_all();
 
-       gtk_widget_destroy(window);
+       label_window_destroy(window);
        main_window_unlock(folderview->mainwin);
        inc_unlock();
 }
index a0750a5516c8e957d75970575bab794906142b10..1af30db331d5bf33796ab4aa6d32f3065b9aaeab 100644 (file)
@@ -854,13 +854,32 @@ void gtkut_widget_set_composer_icon(GtkWidget *widget)
        gdk_window_set_icon(widget->window, NULL, xpm, bmp);    
 }
 
+static gboolean move_bar = FALSE;
+static gint move_bar_id = -1;
+
+static gboolean move_bar_cb(gpointer data)
+{
+       GtkWidget *w = (GtkWidget *)data;
+       if (!move_bar)
+               return FALSE;
+
+       if (!GTK_IS_PROGRESS_BAR(w)) {
+               return FALSE;
+       }
+
+       gtk_progress_bar_pulse(GTK_PROGRESS_BAR(w));
+       GTK_EVENTS_FLUSH();
+       return TRUE;
+}
+
 GtkWidget *label_window_create(const gchar *str)
 {
        GtkWidget *window;
-       GtkWidget *label;
+       GtkWidget *label, *vbox, *hbox;
+       GtkWidget *wait_progress = gtk_progress_bar_new();
 
        window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "gtkutils");
-       gtk_widget_set_size_request(window, 380, 60);
+       gtk_widget_set_size_request(window, 380, 70);
        gtk_container_set_border_width(GTK_CONTAINER(window), 8);
        gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
        gtk_window_set_title(GTK_WINDOW(window), str);
@@ -869,17 +888,41 @@ GtkWidget *label_window_create(const gchar *str)
        manage_window_set_transient(GTK_WINDOW(window));
 
        label = gtk_label_new(str);
-       gtk_container_add(GTK_CONTAINER(window), label);
+       
+       vbox = gtk_vbox_new(FALSE, 6);
+       hbox = gtk_hbox_new(FALSE, 6);
+       gtk_box_pack_start(GTK_BOX(hbox), label, TRUE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, FALSE, 0);
+       hbox = gtk_hbox_new(FALSE, 6);
+       gtk_box_pack_start(GTK_BOX(hbox), wait_progress, TRUE, FALSE, 0);
+       gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
+       
+       gtk_container_add(GTK_CONTAINER(window), vbox);
        gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
-       gtk_widget_show(label);
+       gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0.5);
+       gtk_widget_show_all(vbox);
 
        gtk_widget_show_now(window);
        
+       if (move_bar_id == -1) {
+               move_bar_id = g_timeout_add(200, move_bar_cb, wait_progress);
+               move_bar = TRUE;
+       }
+
        GTK_EVENTS_FLUSH();
 
        return window;
 }
 
+void label_window_destroy(GtkWidget *window)
+{
+       move_bar = FALSE;
+       g_source_remove(move_bar_id);
+       move_bar_id = -1;
+       GTK_EVENTS_FLUSH();
+       gtk_widget_destroy(window);     
+}
+
 GtkWidget *gtkut_account_menu_new(GList                        *ac_list,
                                  GCallback              callback,
                                  gpointer               data)
index bf8dbe567486825b343735d01c0e20e5dce76c44..255ef7a8a485588e836a5d3d687aac29c04fe6cd 100644 (file)
@@ -187,6 +187,8 @@ gboolean gtkut_text_view_search_string_backward     (GtkTextView *text, const gchar
                                        gboolean case_sens);
 
 GtkWidget *label_window_create(const gchar *str);
+void label_window_destroy(GtkWidget *widget);
+
 void gtkut_window_popup                        (GtkWidget      *window);
 #ifdef MAEMO
 HildonWindow *gtkut_window_new         (GtkWindowType   type,
index ab28a2e07df8f8cbc27d651c143d8e4631919480..16ae54d2a2b0f7baf512796568acd416fd8c90f6 100644 (file)
@@ -354,7 +354,7 @@ backup_mode:
                GTK_EVENTS_FLUSH();
                
                r = copy_dir(old_cfg_dir, new_cfg_dir);
-               gtk_widget_destroy(window);
+               label_window_destroy(window);
                
                /* if copy failed, we'll remove the partially copied
                 * new directory */
@@ -372,7 +372,7 @@ backup_mode:
                GTK_EVENTS_FLUSH();
                
                r = g_rename(old_cfg_dir, new_cfg_dir);
-               gtk_widget_destroy(window);
+               label_window_destroy(window);
                
                /* if g_rename failed, we'll try to copy */
                if (r != 0) {
index d6fe7709c0f0157e523db54607a7e52b1ded1267..3c12a332bc687045b9a700b246a47c44dfd607c3 100644 (file)
@@ -700,7 +700,7 @@ again:
        err = gpgme_op_genkey(ctx, key_parms, NULL, NULL);
        g_free(key_parms);
 
-       gtk_widget_destroy(window);
+       label_window_destroy(window);
 
        if (err) {
                alertpanel_error(_("Couldn't generate a new key pair: %s"), gpgme_strerror(err));