2005-10-06 [colin] 1.9.15cvs16
authorColin Leroy <colin@colino.net>
Thu, 6 Oct 2005 19:29:38 +0000 (19:29 +0000)
committerColin Leroy <colin@colino.net>
Thu, 6 Oct 2005 19:29:38 +0000 (19:29 +0000)
* src/prefs_common.c
* src/prefs_common.h
* src/prefs_summaries.c
* src/folderview.c
Add a warning dialog on Mark all read
(with pref to get rid of it)

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/folderview.c
src/prefs_common.c
src/prefs_common.h
src/prefs_summaries.c

index e212c9d..c6b3bde 100644 (file)
@@ -1,3 +1,12 @@
+2005-10-06 [colin]     1.9.15cvs16
+
+       * src/prefs_common.c
+       * src/prefs_common.h
+       * src/prefs_summaries.c
+       * src/folderview.c
+               Add a warning dialog on Mark all read 
+               (with pref to get rid of it)
+
 2005-10-06 [paul]      1.9.15cvs15
 
        * po/nb.po
index c5f50fd..38f4121 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.274.2.68 -r 1.274.2.69 src/mainwindow.c;  cvs diff -u -r 1.39.2.8 -r 1.39.2.9 src/mainwindow.h;  cvs diff -u -r 1.43.2.27 -r 1.43.2.28 src/toolbar.c;  ) > 1.9.15cvs13.patchset
 ( cvs diff -u -r 1.213.2.61 -r 1.213.2.62 src/folder.c;  cvs diff -u -r 1.87.2.20 -r 1.87.2.21 src/folder.h;  cvs diff -u -r 1.207.2.67 -r 1.207.2.68 src/folderview.c;  cvs diff -u -r 1.20.2.8 -r 1.20.2.9 src/folderview.h;  cvs diff -u -r 1.179.2.75 -r 1.179.2.76 src/imap.c;  cvs diff -u -r 1.1.2.21 -r 1.1.2.22 src/imap_gtk.c;  cvs diff -u -r 1.274.2.69 -r 1.274.2.70 src/mainwindow.c;  cvs diff -u -r 1.2.2.12 -r 1.2.2.13 src/mh_gtk.c;  cvs diff -u -r 1.5.2.8 -r 1.5.2.9 src/setup.c;  cvs diff -u -r 1.395.2.130 -r 1.395.2.131 src/summaryview.c;  ) > 1.9.15cvs14.patchset
 ( cvs diff -u -r 1.1.2.2 -r 1.1.2.3 po/nb.po;  cvs diff -u -r 1.50.2.11 -r 1.50.2.12 po/pt_BR.po;  ) > 1.9.15cvs15.patchset
+( cvs diff -u -r 1.204.2.59 -r 1.204.2.60 src/prefs_common.c;  cvs diff -u -r 1.103.2.30 -r 1.103.2.31 src/prefs_common.h;  cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/prefs_summaries.c;  cvs diff -u -r 1.207.2.68 -r 1.207.2.69 src/folderview.c;  ) > 1.9.15cvs16.patchset
index 2ab4ebb..9076a33 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=15
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=15
+EXTRA_VERSION=16
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 8c3b61e..3605280 100644 (file)
@@ -702,11 +702,25 @@ static void mark_all_read_cb(FolderView *folderview, guint action,
                              GtkWidget *widget)
 {
        FolderItem *item;
-
+       AlertValue val;
+       
        item = folderview_get_selected_item(folderview);
        if (item == NULL)
                return;
 
+       if (prefs_common.ask_mark_all_read) {
+               val = alertpanel_full(_("Mark all as read"),
+                       _("Do you really want to mark all mails in this "
+                         "folder as read ?"), GTK_STOCK_YES, GTK_STOCK_NO, NULL,
+                         TRUE, NULL, ALERT_QUESTION, G_ALERTDEFAULT);
+
+               if (val == G_ALERTALTERNATE ||
+                   val == (G_ALERTALTERNATE|G_ALERTDISABLE))
+                       return;
+               else if (val == (G_ALERTDEFAULT|G_ALERTDISABLE)) 
+                       prefs_common.ask_mark_all_read = FALSE;
+       }
+       
        summary_lock(folderview->summaryview);
        folder_item_update_freeze();
        if (folderview->summaryview->folder_item == item)
index acc109b..0c806fc 100644 (file)
@@ -501,6 +501,9 @@ static PrefParam param[] = {
         &prefs_common.pixmap_theme_path, P_STRING,
         NULL, NULL, NULL},
 
+       {"ask_mark_all_read", "TRUE", &prefs_common.ask_mark_all_read, P_BOOL,
+        NULL, NULL, NULL},
+
        /* Other */
        {"uri_open_command", DEFAULT_BROWSER_CMD,
         &prefs_common.uri_cmd, P_STRING, NULL, NULL, NULL},
index 2bcf8ba..80104aa 100644 (file)
@@ -284,6 +284,7 @@ struct _PrefsCommon
        gboolean add_address_by_click;
        gchar *pixmap_theme_path;
        int hover_timeout; /* msecs mouse hover timeout */
+       gboolean ask_mark_all_read;
 
        /* Other */
        gchar *uri_cmd;
index 9e32dbe..84b026e 100644 (file)
@@ -60,6 +60,7 @@ typedef struct _SummariesPage
        GtkWidget *checkbtn_mark_as_read_on_newwin;
        GtkWidget *checkbtn_openinbox;
        GtkWidget *checkbtn_immedexec;
+       GtkWidget *checkbtn_ask_mark_all_read;
        GtkWidget *optmenu_select_on_entry;
        GtkWidget *optmenu_nextunreadmsgdialog;
 
@@ -710,6 +711,7 @@ void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
        GtkWidget *checkbtn_mark_as_read_on_newwin;
        GtkWidget *checkbtn_openinbox;
        GtkWidget *checkbtn_immedexec;
+       GtkWidget *checkbtn_ask_mark_all_read;
        GtkTooltips *immedexec_tooltip;
        GtkWidget *label;
        GtkWidget *menu;
@@ -856,6 +858,10 @@ void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
                               " if this is turned off"),
                             NULL);
 
+       PACK_CHECK_BUTTON
+               (vbox3, checkbtn_ask_mark_all_read,
+                _("Confirm before marking all mails in a folder as read"));
+
        hbox1 = gtk_hbox_new (FALSE, 0);
        gtk_widget_show (hbox1);
        gtk_box_pack_start (GTK_BOX (vbox3), hbox1, FALSE, FALSE, 0);
@@ -938,6 +944,8 @@ void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
                        prefs_common.open_inbox_on_inc);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_immedexec),
                        prefs_common.immediate_exec);
+       gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_ask_mark_all_read),
+                       prefs_common.ask_mark_all_read);
 
        gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu_select_on_entry),
                        prefs_common.select_on_entry);
@@ -955,6 +963,7 @@ void prefs_summaries_create_widget(PrefsPage *_page, GtkWindow *window,
        prefs_summaries->checkbtn_mark_as_read_on_newwin = checkbtn_mark_as_read_on_newwin;
        prefs_summaries->checkbtn_openinbox = checkbtn_openinbox;
        prefs_summaries->checkbtn_immedexec = checkbtn_immedexec;
+       prefs_summaries->checkbtn_ask_mark_all_read = checkbtn_ask_mark_all_read;
        prefs_summaries->optmenu_select_on_entry = optmenu_select_on_entry;
        prefs_summaries->optmenu_nextunreadmsgdialog = optmenu_nextunreadmsgdialog;
 
@@ -990,6 +999,8 @@ void prefs_summaries_save(PrefsPage *_page)
                GTK_TOGGLE_BUTTON(page->checkbtn_openinbox));
        prefs_common.immediate_exec = gtk_toggle_button_get_active(
                GTK_TOGGLE_BUTTON(page->checkbtn_immedexec));
+       prefs_common.ask_mark_all_read = gtk_toggle_button_get_active(
+               GTK_TOGGLE_BUTTON(page->checkbtn_ask_mark_all_read));
 
        menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(page->optmenu_select_on_entry));
        menuitem = gtk_menu_get_active(GTK_MENU(menu));