reflect theme changes, fix Gdk Warning when creating pixmap from NULL window, and...
authorPaul Mangan <paul@claws-mail.org>
Thu, 18 Jul 2002 08:02:09 +0000 (08:02 +0000)
committerPaul Mangan <paul@claws-mail.org>
Thu, 18 Jul 2002 08:02:09 +0000 (08:02 +0000)
ChangeLog.claws
configure.in
src/mainwindow.c
src/selective_download.c
src/selective_download.h

index b4505bbca2a8efaa9238c3a6b76efb916e0ac555..3f2d48b775ca4ba4185ad416e00ddf116663aa00 100644 (file)
@@ -1,3 +1,14 @@
+2002-07-18 [paul]      0.7.8claws76
+
+       * src/mainwindow.c
+         src/selective_download.[ch]
+               reflect theme changes, fix Gdk Warning when creating 
+               pixmap from NULL window, and minor clean up.
+               Patch submitted by Oliver Haertel <oha@users.sourceforge.net>
+
+       * po/en_GB.po
+               updated
+
 2002-07-17 [paul]      0.7.8claws75
 
        * INSTALL[.jp]
 2002-07-17 [paul]      0.7.8claws75
 
        * INSTALL[.jp]
index 009cdf2b3c714b8044f4a43efe006e5917f97058..fdc27258d7b0c3c0c0471e76241f05daa3848395 100644 (file)
@@ -8,7 +8,7 @@ MINOR_VERSION=7
 MICRO_VERSION=8
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=8
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws75
+EXTRA_VERSION=claws76
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 67c0324f5cbfcdf206b84f75bbcda9fdf2aa1814..55cf7e1e55a32644ca078da73d4721359bd822f8 100644 (file)
@@ -1182,6 +1182,7 @@ void main_window_reflect_prefs_all_real(gboolean pixmap_theme_changed)
                        activate_compose_button(mainwin, prefs_common.toolbar_style, mainwin->compose_btn_type);
                        folderview_reflect_prefs_pixmap_theme(mainwin->folderview);
                        summary_reflect_prefs_pixmap_theme(mainwin->summaryview);
                        activate_compose_button(mainwin, prefs_common.toolbar_style, mainwin->compose_btn_type);
                        folderview_reflect_prefs_pixmap_theme(mainwin->folderview);
                        summary_reflect_prefs_pixmap_theme(mainwin->summaryview);
+                       sd_reflect_prefs_pixmap_theme();
                }
                
                if (prefs_common.immediate_exec)
                }
                
                if (prefs_common.immediate_exec)
index 34c5df359e83b47ac91c78c7bc8eb223a3e86519..57f638d69a4d905ab1c0a3df4fbf0b428f5d8561 100644 (file)
@@ -33,9 +33,6 @@
 #include "intl.h"
 #include "main.h"
 #include "prefs.h"
 #include "intl.h"
 #include "main.h"
 #include "prefs.h"
-#include "prefs_matcher.h"
-#include "prefs_filtering.h"
-#include "prefs_account.h"
 #include "account.h"
 #include "mainwindow.h"
 #include "manage_window.h"
 #include "account.h"
 #include "mainwindow.h"
 #include "manage_window.h"
 #include "stock_pixmap.h"
 #include "inc.h"
 #include "utils.h"
 #include "stock_pixmap.h"
 #include "inc.h"
 #include "utils.h"
-#include "gtkutils.h"
 #include "alertpanel.h"
 #include "alertpanel.h"
-#include "folder.h"
 #include "inc.h"
 #include "filtering.h"
 #include "inc.h"
 #include "filtering.h"
-#include "matcher_parser.h"
-#include "selective_download.h"
+#include "matcher.h"
 #include "procheader.h"
 #include "procheader.h"
+#include "selective_download.h"
+
 
 static struct _SDView {
        MainWindow *mainwin;
 
 static struct _SDView {
        MainWindow *mainwin;
@@ -69,6 +65,7 @@ static struct _SDView {
 
 }selective;
 
 
 }selective;
 
+/* clist pixmaps */
 static GdkPixmap *checkboxonxpm;
 static GdkBitmap *checkboxonxpmmask;
 static GdkPixmap *checkboxoffxpm;
 static GdkPixmap *checkboxonxpm;
 static GdkBitmap *checkboxonxpmmask;
 static GdkPixmap *checkboxoffxpm;
@@ -77,9 +74,6 @@ static GdkPixmap *markxpm;
 static GdkBitmap *markxpmmask;
 static GdkPixmap *deletedxpm;
 static GdkBitmap *deletedxpmmask;
 static GdkBitmap *markxpmmask;
 static GdkPixmap *deletedxpm;
 static GdkBitmap *deletedxpmmask;
-static GdkPixmap *continuexpm;
-static GdkBitmap *continuexpmmask;
-
 
 /* local functions */
 static void sd_clear_msglist();
 
 /* local functions */
 static void sd_clear_msglist();
@@ -105,15 +99,15 @@ enum {
 /* callbacks */
 static void sd_action_cb(GtkWidget *widget, guint action);
 
 /* callbacks */
 static void sd_action_cb(GtkWidget *widget, guint action);
 
-static void sd_select_row_cb (GtkCList *clist, gint row, gint column,
+static void sd_select_row_cb(GtkCList *clist, gint row, gint column,
                              GdkEvent *event, gpointer user_data);
                              GdkEvent *event, gpointer user_data);
-static void sd_key_pressed (GtkWidget *widget,
+static void sd_key_pressed(GtkWidget *widget,
                            GdkEventKey *event,
                            gpointer data);
 /* account menu */
 static void sd_ac_label_pressed(GtkWidget *widget, 
                            GdkEventKey *event,
                            gpointer data);
 /* account menu */
 static void sd_ac_label_pressed(GtkWidget *widget, 
-                               GdkEventButton *event,
-                               gpointer data);
+                                GdkEventButton *event,
+                                gpointer data);
 
 static void sd_ac_menu_popup_closed(GtkMenuShell *menu_shell);
 static void sd_ac_menu_cb(GtkMenuItem *menuitem, gpointer data);
 
 static void sd_ac_menu_popup_closed(GtkMenuShell *menu_shell);
 static void sd_ac_menu_cb(GtkMenuItem *menuitem, gpointer data);
@@ -124,12 +118,16 @@ static void sd_preview_popup_closed(GtkMenuShell *menu_shell);
 static void sd_preview_popup_cb(GtkWidget *widget, GdkEventButton *event);
 static GtkItemFactoryEntry preview_popup_entries[] =
 {
 static void sd_preview_popup_cb(GtkWidget *widget, GdkEventButton *event);
 static GtkItemFactoryEntry preview_popup_entries[] =
 {
-       {N_("/Preview _new Messages"), NULL, sd_action_cb, PREVIEW_NEW, NULL},
-       {N_("/Preview _all Messages"), NULL, sd_action_cb, PREVIEW_ALL, NULL}
+       {N_("/Preview _new messages"), NULL, sd_action_cb, PREVIEW_NEW, NULL},
+       {N_("/Preview _all messages"), NULL, sd_action_cb, PREVIEW_ALL, NULL}
 };
 
 /* create dialog */
 };
 
 /* create dialog */
-static void sd_window_create (MainWindow *mainwin);
+static void sd_window_create(MainWindow *mainwin);
+static void sd_create_toolbar(MainWindow *mainwin, GtkWidget *container);
+
+/* pixmaps */
+void sd_init_pixmaps(MainWindow *mainwin);
 
 void selective_download(MainWindow *mainwin)
 {
 
 void selective_download(MainWindow *mainwin)
 {
@@ -137,28 +135,41 @@ void selective_download(MainWindow *mainwin)
 
        sd_remove_header_files();
        
 
        sd_remove_header_files();
        
-       stock_pixmap_gdk(mainwin->window, STOCK_PIXMAP_CHECKBOX_OFF,
-                        &checkboxoffxpm, &checkboxoffxpmmask);
-       stock_pixmap_gdk(mainwin->window, STOCK_PIXMAP_CHECKBOX_ON,
-                        &checkboxonxpm, &checkboxonxpmmask);
-       stock_pixmap_gdk(mainwin->window, STOCK_PIXMAP_DELETED,
-                        &deletedxpm, &deletedxpmmask);
-       stock_pixmap_gdk(mainwin->window, STOCK_PIXMAP_CONTINUE,
-                        &continuexpm, &continuexpmmask);
-       stock_pixmap_gdk(mainwin->window, STOCK_PIXMAP_MARK,
-                        &markxpm, &markxpmmask);
        inc_lock();
        inc_lock();
-
-       if (!selective.window)
-           sd_window_create(mainwin);
+       
+       if (!selective.window) {
+               sd_init_pixmaps(mainwin);
+               sd_window_create(mainwin);
+       }
 
        manage_window_set_transient(GTK_WINDOW(selective.window));
        gtk_widget_show(selective.window);
        sd_clear_msglist();
        sd_ac_menu_set();
        gtk_clist_clear(GTK_CLIST(selective.clist));
 
        manage_window_set_transient(GTK_WINDOW(selective.window));
        gtk_widget_show(selective.window);
        sd_clear_msglist();
        sd_ac_menu_set();
        gtk_clist_clear(GTK_CLIST(selective.clist));
+}
 
 
+void sd_init_pixmaps(MainWindow *mainwin)
+{
+       GtkWidget *widget = mainwin->window;
+
+       g_return_if_fail(mainwin != NULL);
+
+       /* clist pixmaps */
+       stock_pixmap_gdk(widget, STOCK_PIXMAP_CHECKBOX_OFF,
+                        &checkboxoffxpm, &checkboxoffxpmmask);
+       stock_pixmap_gdk(widget, STOCK_PIXMAP_CHECKBOX_ON,
+                        &checkboxonxpm, &checkboxonxpmmask);
+       stock_pixmap_gdk(widget, STOCK_PIXMAP_DELETED,
+                        &deletedxpm, &deletedxpmmask);
+       stock_pixmap_gdk(widget, STOCK_PIXMAP_MARK,
+                        &markxpm, &markxpmmask);
+}
 
 
+void sd_reflect_prefs_pixmap_theme()
+{
+       if (selective.window) 
+               selective.window = NULL;
 }
 
 static void sd_clear_msglist()
 }
 
 static void sd_clear_msglist()
@@ -264,11 +275,11 @@ static MsgInfo *sd_get_msginfo_from_file(const gchar *filename)
                msginfo = g_new0(MsgInfo, 1);
 
        if (!msginfo->date) 
                msginfo = g_new0(MsgInfo, 1);
 
        if (!msginfo->date) 
-               msginfo->date = g_strdup(_("(No Date)"));
+               msginfo->date = g_strdup(_("(No date)"));
        if (!msginfo->from)
        if (!msginfo->from)
-               msginfo->from = g_strdup(_("(No Sender)"));
+               msginfo->from = g_strdup(_("(No sender)"));
        if (!msginfo->subject)
        if (!msginfo->subject)
-               msginfo->subject = g_strdup(_("(No Subject)"));
+               msginfo->subject = g_strdup(_("(No subject)"));
                
        return msginfo;
 }
                
        return msginfo;
 }
@@ -432,7 +443,7 @@ static void sd_action_cb(GtkWidget *widget, guint action)
                if ( (acc->protocol != A_APOP) &&
                     (acc->protocol != A_POP3) ) {
                        alertpanel_error(
                if ( (acc->protocol != A_APOP) &&
                     (acc->protocol != A_POP3) ) {
                        alertpanel_error(
-                               _("Selected Account \"%s\" is not a POP Mail Server.\nPlease select a different Account"), acc->account_name);
+                               _("Selected account \"%s\" is not a POP mail server.\nPlease select a different account"), acc->account_name);
                        return;
                }
                sd_clear_msglist();
                        return;
                }
                sd_clear_msglist();
@@ -591,6 +602,93 @@ static void sd_preview_popup_cb(GtkWidget *widget, GdkEventButton *event)
        }
 }
 
        }
 }
 
+static void sd_create_toolbar(MainWindow *mainwin, GtkWidget *container)
+{
+       GtkWidget *toolbar;
+       GtkWidget *tmp_toolbar_icon;
+       GtkWidget *preview_btn;
+       GtkWidget *remove_btn;
+       GtkWidget *download_btn;
+       GtkWidget *done_btn;
+       GtkWidget *preview_popup;
+       gint n_menu_entries;
+
+       toolbar = gtk_toolbar_new (GTK_ORIENTATION_VERTICAL, GTK_TOOLBAR_BOTH);
+
+       gtk_container_add (GTK_CONTAINER(container), toolbar);
+       gtk_container_set_border_width (GTK_CONTAINER(container), 2);
+
+       gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 30);
+       gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
+       
+       tmp_toolbar_icon = stock_pixmap_widget (container, STOCK_PIXMAP_MAIL_RECEIVE);
+       preview_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
+                                                 GTK_TOOLBAR_CHILD_BUTTON,
+                                                 NULL,
+                                                 _("Preview mail"),
+                                                 _("Preview old/new mail on account"), NULL,
+                                                 tmp_toolbar_icon, NULL, NULL);
+
+       n_menu_entries = sizeof (preview_popup_entries)/sizeof (preview_popup_entries[0]);
+       preview_popup = popupmenu_create (preview_btn, preview_popup_entries, n_menu_entries,
+                                     "<SelectiveDownload>", mainwin);
+
+       gtk_signal_connect (GTK_OBJECT(preview_popup), "selection_done",
+                           GTK_SIGNAL_FUNC(sd_preview_popup_closed), NULL);
+
+       gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
+       
+       tmp_toolbar_icon = stock_pixmap_widget (container, STOCK_PIXMAP_CLOSE);
+       remove_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
+                                                GTK_TOOLBAR_CHILD_BUTTON,
+                                                NULL,
+                                                _("Remove"),
+                                                _("Remove selected mail"), NULL,
+                                                tmp_toolbar_icon, NULL, NULL);
+
+       gtk_widget_set_sensitive (remove_btn, FALSE);
+
+       tmp_toolbar_icon = stock_pixmap_widget(container, STOCK_PIXMAP_DOWN_ARROW);
+       download_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
+                                                  GTK_TOOLBAR_CHILD_BUTTON,
+                                                  NULL,
+                                                  _("Download"),
+                                                  _("Download selected mail"), NULL,
+                                                  tmp_toolbar_icon, NULL, NULL);
+
+       gtk_widget_set_sensitive (download_btn, FALSE);
+
+       gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
+
+       tmp_toolbar_icon = stock_pixmap_widget (container, STOCK_PIXMAP_COMPLETE);
+       
+       done_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
+                                              GTK_TOOLBAR_CHILD_BUTTON,
+                                              NULL, 
+                                              _("Done"),
+                                              _("Exit dialog"), NULL ,
+                                              tmp_toolbar_icon, NULL, NULL);
+
+       gtk_signal_connect (GTK_OBJECT (preview_btn), "button_press_event",
+                           GTK_SIGNAL_FUNC (sd_preview_popup_cb),
+                           NULL);
+       gtk_signal_connect (GTK_OBJECT (remove_btn), "clicked",
+                           GTK_SIGNAL_FUNC (sd_action_cb),
+                           GUINT_TO_POINTER(REMOVE));
+       gtk_signal_connect (GTK_OBJECT (download_btn), "clicked",
+                           GTK_SIGNAL_FUNC (sd_action_cb),
+                           GUINT_TO_POINTER(DOWNLOAD));
+       gtk_signal_connect (GTK_OBJECT (done_btn), "clicked",
+                           GTK_SIGNAL_FUNC (sd_action_cb),
+                           GUINT_TO_POINTER(DONE));
+
+       selective.preview_btn     = preview_btn;
+       selective.remove_btn      = remove_btn;
+       selective.download_btn    = download_btn;
+       selective.preview_popup   = preview_popup;
+
+}
+
 static void sd_window_create(MainWindow *mainwin)
 {
        GtkWidget *window;
 static void sd_window_create(MainWindow *mainwin)
 {
        GtkWidget *window;
@@ -611,14 +709,6 @@ static void sd_window_create(MainWindow *mainwin)
        GtkWidget *size_label;
        GtkWidget *date_label;
        GtkWidget *toolbar_hbox;
        GtkWidget *size_label;
        GtkWidget *date_label;
        GtkWidget *toolbar_hbox;
-       GtkWidget *toolbar;
-       GtkWidget *tmp_toolbar_icon;
-       GtkWidget *preview_btn;
-       GtkWidget *preview_popup;
-       GtkWidget *remove_btn;
-       GtkWidget *download_btn;
-       GtkWidget *done_btn;
-       gint n_menu_entries;
 
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        gtk_object_set_data (GTK_OBJECT (window), "window", window);
 
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        gtk_object_set_data (GTK_OBJECT (window), "window", window);
@@ -626,11 +716,13 @@ static void sd_window_create(MainWindow *mainwin)
        gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
        gtk_window_set_modal (GTK_WINDOW (window), TRUE);
        gtk_window_set_policy (GTK_WINDOW (window), TRUE, TRUE, TRUE);
        gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
        gtk_window_set_modal (GTK_WINDOW (window), TRUE);
        gtk_window_set_policy (GTK_WINDOW (window), TRUE, TRUE, TRUE);
+       /* avoids GDK warning (pixmap with NULL window) */ 
+       gtk_widget_realize (window);
 
        table = gtk_table_new (2, 2, FALSE);
        gtk_container_add (GTK_CONTAINER (window), table);
 
 
        table = gtk_table_new (2, 2, FALSE);
        gtk_container_add (GTK_CONTAINER (window), table);
 
-       msgs_label = gtk_label_new (_("0 Messages"));
+       msgs_label = gtk_label_new (_("0 messages"));
        gtk_table_attach (GTK_TABLE (table), msgs_label, 1, 2, 1, 2,
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 0, 0);
        gtk_table_attach (GTK_TABLE (table), msgs_label, 1, 2, 1, 2,
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (0), 0, 0);
@@ -641,13 +733,13 @@ static void sd_window_create(MainWindow *mainwin)
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (GTK_FILL), 0, 0);
 
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (GTK_FILL), 0, 0);
 
-       show_old_chkbtn = gtk_check_button_new_with_label("Show only old Messages");
-       gtk_box_pack_start(GTK_BOX(bottom_hbox), show_old_chkbtn, FALSE, FALSE, 0);
+       show_old_chkbtn = gtk_check_button_new_with_label("Show only old messages");
+       gtk_box_pack_start (GTK_BOX(bottom_hbox), show_old_chkbtn, FALSE, FALSE, 0);
 
 
-       gtk_signal_connect(GTK_OBJECT(show_old_chkbtn), "toggled",
-                          GTK_SIGNAL_FUNC(sd_action_cb), GUINT_TO_POINTER(CHECKBTN));
-       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(show_old_chkbtn), FALSE);
-       GTK_WIDGET_UNSET_FLAGS(show_old_chkbtn, GTK_CAN_FOCUS);
+       gtk_signal_connect (GTK_OBJECT(show_old_chkbtn), "toggled",
+                           GTK_SIGNAL_FUNC(sd_action_cb), GUINT_TO_POINTER(CHECKBTN));
+       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(show_old_chkbtn), FALSE);
+       GTK_WIDGET_UNSET_FLAGS (show_old_chkbtn, GTK_CAN_FOCUS);
 
        expand_label = gtk_label_new (" ");
        gtk_box_pack_start (GTK_BOX (bottom_hbox), expand_label, TRUE, TRUE, 0);
 
        expand_label = gtk_label_new (" ");
        gtk_box_pack_start (GTK_BOX (bottom_hbox), expand_label, TRUE, TRUE, 0);
@@ -656,18 +748,18 @@ static void sd_window_create(MainWindow *mainwin)
        gtk_box_pack_end (GTK_BOX (bottom_hbox), fixed_label, FALSE, FALSE, 0);
 
        ac_menu = gtk_menu_new();
        gtk_box_pack_end (GTK_BOX (bottom_hbox), fixed_label, FALSE, FALSE, 0);
 
        ac_menu = gtk_menu_new();
-       gtk_signal_connect(GTK_OBJECT(ac_menu), "selection_done",
-                          GTK_SIGNAL_FUNC(sd_ac_menu_popup_closed), NULL);
+       gtk_signal_connect (GTK_OBJECT(ac_menu), "selection_done",
+                           GTK_SIGNAL_FUNC(sd_ac_menu_popup_closed), NULL);
        ac_button = gtk_button_new();
        ac_button = gtk_button_new();
-       gtk_button_set_relief(GTK_BUTTON(ac_button), GTK_RELIEF_NONE);
-       GTK_WIDGET_UNSET_FLAGS(ac_button, GTK_CAN_FOCUS);
-       gtk_widget_set_usize(ac_button, -1, 1);
-       gtk_box_pack_start(GTK_BOX(bottom_hbox), ac_button, FALSE, FALSE, 0);
-       gtk_signal_connect(GTK_OBJECT(ac_button), "button_press_event",
-                          GTK_SIGNAL_FUNC(sd_ac_label_pressed), GTK_OBJECT(ac_menu));
+       gtk_button_set_relief (GTK_BUTTON(ac_button), GTK_RELIEF_NONE);
+       GTK_WIDGET_UNSET_FLAGS (ac_button, GTK_CAN_FOCUS);
+       gtk_widget_set_usize (ac_button, -1, 1);
+       gtk_box_pack_start (GTK_BOX(bottom_hbox), ac_button, FALSE, FALSE, 0);
+       gtk_signal_connect (GTK_OBJECT(ac_button), "button_press_event",
+                           GTK_SIGNAL_FUNC(sd_ac_label_pressed), GTK_OBJECT(ac_menu));
 
        ac_label = gtk_label_new("");
 
        ac_label = gtk_label_new("");
-       gtk_container_add(GTK_CONTAINER(ac_button), ac_label);
+       gtk_container_add (GTK_CONTAINER(ac_button), ac_label);
 
        scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
        gtk_table_attach (GTK_TABLE (table), scrolledwindow, 0, 1, 0, 1,
 
        scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
        gtk_table_attach (GTK_TABLE (table), scrolledwindow, 0, 1, 0, 1,
@@ -704,104 +796,35 @@ static void sd_window_create(MainWindow *mainwin)
        gtk_widget_ref (size_label);
        gtk_clist_set_column_widget (GTK_CLIST (clist), 4, size_label);
        
        gtk_widget_ref (size_label);
        gtk_clist_set_column_widget (GTK_CLIST (clist), 4, size_label);
        
+       /* create toolbar */
        toolbar_hbox = gtk_hbox_new (FALSE, 0);
 
        gtk_table_attach (GTK_TABLE (table), toolbar_hbox, 1, 2, 0, 1,
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (GTK_FILL), 0, 0);
        toolbar_hbox = gtk_hbox_new (FALSE, 0);
 
        gtk_table_attach (GTK_TABLE (table), toolbar_hbox, 1, 2, 0, 1,
                          (GtkAttachOptions) (GTK_FILL),
                          (GtkAttachOptions) (GTK_FILL), 0, 0);
-       
-       toolbar = gtk_toolbar_new (GTK_ORIENTATION_VERTICAL, GTK_TOOLBAR_BOTH);
+       sd_create_toolbar(mainwin, toolbar_hbox);
 
 
-       gtk_box_pack_end (GTK_BOX (toolbar_hbox), toolbar, FALSE, FALSE, 0);
-       gtk_toolbar_set_space_size (GTK_TOOLBAR (toolbar), 30);
-       gtk_toolbar_set_space_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_SPACE_LINE);
-       gtk_container_set_border_width (GTK_CONTAINER (toolbar), 5);
-       
-       tmp_toolbar_icon = stock_pixmap_widget(toolbar_hbox, STOCK_PIXMAP_MAIL_RECEIVE);
-       preview_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                                 GTK_TOOLBAR_CHILD_BUTTON,
-                                                 NULL,
-                                                 _("Preview Mail"),
-                                                 _("preview old/new E-Mail on account"), NULL,
-                                                 tmp_toolbar_icon, NULL, NULL);
-
-       n_menu_entries = sizeof(preview_popup_entries)/sizeof(preview_popup_entries[0]);
-       preview_popup = popupmenu_create(preview_btn, preview_popup_entries, n_menu_entries,
-                                     "<SelectiveDownload>", window);
 
 
-       gtk_signal_connect(GTK_OBJECT(preview_popup), "selection_done",
-                          GTK_SIGNAL_FUNC(sd_preview_popup_closed), NULL);
-
-       gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
-       
-       tmp_toolbar_icon = stock_pixmap_widget(toolbar_hbox, STOCK_PIXMAP_CLOSE);
-       remove_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                                GTK_TOOLBAR_CHILD_BUTTON,
-                                                NULL,
-                                                _("Remove"),
-                                                _("remove selected E-Mails"), NULL,
-                                                tmp_toolbar_icon, NULL, NULL);
-
-       gtk_widget_set_sensitive (remove_btn, FALSE);
-
-       tmp_toolbar_icon = stock_pixmap_widget(toolbar_hbox, STOCK_PIXMAP_DOWN_ARROW);
-       download_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                                GTK_TOOLBAR_CHILD_BUTTON,
-                                                NULL,
-                                                _("Download"),
-                                                _("Download selected E-Mails"), NULL,
-                                                tmp_toolbar_icon, NULL, NULL);
-
-       gtk_widget_set_sensitive (download_btn, FALSE);
-
-       gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
-
-       tmp_toolbar_icon = stock_pixmap_widget (toolbar_hbox, STOCK_PIXMAP_COMPLETE);
-       done_btn = gtk_toolbar_append_element (GTK_TOOLBAR (toolbar),
-                                              GTK_TOOLBAR_CHILD_BUTTON,
-                                              NULL,
-                                              _("Done"),
-                                              _("Exit Dialog"), NULL,
-                                              tmp_toolbar_icon, NULL, NULL);
-       
        gtk_signal_connect (GTK_OBJECT (window), "delete_event",
                            GTK_SIGNAL_FUNC (gtk_widget_hide_on_delete),
                            NULL);
        gtk_signal_connect (GTK_OBJECT(window), "key_press_event",
                            GTK_SIGNAL_FUNC(sd_key_pressed),
                            NULL);
        gtk_signal_connect (GTK_OBJECT (window), "delete_event",
                            GTK_SIGNAL_FUNC (gtk_widget_hide_on_delete),
                            NULL);
        gtk_signal_connect (GTK_OBJECT(window), "key_press_event",
                            GTK_SIGNAL_FUNC(sd_key_pressed),
                            NULL);
-       MANAGE_WINDOW_SIGNALS_CONNECT(window);
-       gtk_signal_connect (GTK_OBJECT (preview_btn), "button_press_event",
-                           GTK_SIGNAL_FUNC (sd_preview_popup_cb),
-                           NULL);
+       MANAGE_WINDOW_SIGNALS_CONNECT (window);
 
 
-       gtk_signal_connect (GTK_OBJECT (remove_btn), "clicked",
-                           GTK_SIGNAL_FUNC (sd_action_cb),
-                           GUINT_TO_POINTER(REMOVE));
-       gtk_signal_connect (GTK_OBJECT (download_btn), "clicked",
-                           GTK_SIGNAL_FUNC (sd_action_cb),
-                           GUINT_TO_POINTER(DOWNLOAD));
-       gtk_signal_connect (GTK_OBJECT (done_btn), "clicked",
-                           GTK_SIGNAL_FUNC (sd_action_cb),
-                           GUINT_TO_POINTER(DONE));
        gtk_signal_connect (GTK_OBJECT (clist), "select_row",
                            GTK_SIGNAL_FUNC (sd_select_row_cb),
                            NULL);
 
        gtk_signal_connect (GTK_OBJECT (clist), "select_row",
                            GTK_SIGNAL_FUNC (sd_select_row_cb),
                            NULL);
 
-
        selective.mainwin         = mainwin;
        selective.window          = window;
        selective.clist           = clist;
        selective.mainwin         = mainwin;
        selective.window          = window;
        selective.clist           = clist;
-       selective.preview_btn     = preview_btn;
-       selective.remove_btn      = remove_btn;
-       selective.download_btn    = download_btn;
        selective.ac_label        = ac_label;
        selective.ac_button       = ac_button;
        selective.ac_menu         = ac_menu;
        selective.ac_label        = ac_label;
        selective.ac_button       = ac_button;
        selective.ac_menu         = ac_menu;
-       selective.preview_popup   = preview_popup;
        selective.msgs_label      = msgs_label;
        selective.show_old_chkbtn = show_old_chkbtn;
 
        gtk_widget_show_all(window);
 }
        selective.msgs_label      = msgs_label;
        selective.show_old_chkbtn = show_old_chkbtn;
 
        gtk_widget_show_all(window);
 }
-
index e79d5f4fc1b2f5918d1cd36a2653fbc60419f288..37097f95fc9599778b994e9d6e31c6827e32a9d4 100644 (file)
@@ -45,5 +45,6 @@ struct _HeaderItems {
 };
 
 void selective_download(MainWindow *mainwin);
 };
 
 void selective_download(MainWindow *mainwin);
+void sd_reflect_prefs_pixmap_theme();
 
 #endif /* __SELECTIVE_DOWNLOAD_H__ */
 
 #endif /* __SELECTIVE_DOWNLOAD_H__ */