From cc658280e2b77e42531ae9aa07c18cf9aea0fd4c Mon Sep 17 00:00:00 2001 From: hiro Date: Wed, 1 Dec 2010 08:22:38 +0000 Subject: added an option 'Always mark as read when a message is opened'. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2729 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 7 +++++++ configure.in | 2 +- libsylph/prefs_common.c | 2 ++ libsylph/prefs_common.h | 1 + src/prefs_common_dialog.c | 19 ++++++++++++++++--- src/summaryview.c | 3 ++- 6 files changed, 29 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5f26099d..cd19b946 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-12-01 + + * libsylph/prefs_common.[ch] + src/summaryview.c + src/prefs_common_dialog.c: added an option 'Always mark as read when + a message is opened'. This will bring back the previous behavior. + 2010-11-25 * src/main.c diff --git a/configure.in b/configure.in index b3b86bea..dc4045dd 100644 --- a/configure.in +++ b/configure.in @@ -10,7 +10,7 @@ MICRO_VERSION=0 INTERFACE_AGE=0 BINARY_AGE=0 EXTRA_VERSION=beta4 -BUILD_REVISION=1105 +BUILD_REVISION=1108 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl define if this is a development release diff --git a/libsylph/prefs_common.c b/libsylph/prefs_common.c index ee5f87d1..2cf13174 100644 --- a/libsylph/prefs_common.c +++ b/libsylph/prefs_common.c @@ -402,6 +402,8 @@ static PrefParam param[] = { &prefs_common.always_show_msg, P_BOOL}, {"open_unread_on_enter", "FALSE", &prefs_common.open_unread_on_enter, P_BOOL}, + {"always_mark_read_on_show_msg", "FALSE", + &prefs_common.always_mark_read_on_show_msg, P_BOOL}, {"remember_last_selected", "FALSE", &prefs_common.remember_last_selected, P_BOOL}, {"mark_as_read_on_new_window", "FALSE", diff --git a/libsylph/prefs_common.h b/libsylph/prefs_common.h index c1bc3f11..1630adce 100644 --- a/libsylph/prefs_common.h +++ b/libsylph/prefs_common.h @@ -319,6 +319,7 @@ struct _PrefsCommon gchar *user_agent_str; gboolean change_account_on_folder_sel; /* Interface */ + gboolean always_mark_read_on_show_msg; /* Interface */ }; extern PrefsCommon prefs_common; diff --git a/src/prefs_common_dialog.c b/src/prefs_common_dialog.c index 5d2bae2e..ae60d73a 100644 --- a/src/prefs_common_dialog.c +++ b/src/prefs_common_dialog.c @@ -198,6 +198,7 @@ static struct Privacy { static struct Interface { GtkWidget *checkbtn_always_show_msg; + GtkWidget *checkbtn_always_mark_read; GtkWidget *checkbtn_openunread; GtkWidget *checkbtn_remember_lastsel; /* GtkWidget *checkbtn_mark_as_read_on_newwin; */ @@ -502,6 +503,8 @@ static PrefsUIData ui_data[] = { {"always_show_message_when_selected", &interface.checkbtn_always_show_msg, prefs_set_data_from_toggle, prefs_set_toggle}, + {"always_mark_read_on_show_msg", &interface.checkbtn_always_mark_read, + prefs_set_data_from_toggle, prefs_set_toggle}, {"open_unread_on_enter", &interface.checkbtn_openunread, prefs_set_data_from_toggle, prefs_set_toggle}, {"remember_last_selected", &interface.checkbtn_remember_lastsel, @@ -2334,6 +2337,7 @@ static void prefs_details_create(void) GtkWidget *vbox2; GtkWidget *vbox3; GtkWidget *checkbtn_always_show_msg; + GtkWidget *checkbtn_always_mark_read; GtkWidget *checkbtn_openunread; GtkWidget *checkbtn_remember_lastsel; /* GtkWidget *checkbtn_mark_as_read_on_newwin; */ @@ -2379,10 +2383,15 @@ static void prefs_details_create(void) (vbox2, checkbtn_always_show_msg, _("Always open messages in summary when selected")); + PACK_CHECK_BUTTON + (vbox2, checkbtn_always_mark_read, + _("Always mark as read when a message is opened")); + SET_TOGGLE_SENSITIVITY + (checkbtn_always_show_msg, checkbtn_always_mark_read); + PACK_CHECK_BUTTON (vbox2, checkbtn_openunread, _("Open first unread message when a folder is opened")); - SET_TOGGLE_SENSITIVITY_REV (checkbtn_always_show_msg, checkbtn_openunread); @@ -2396,11 +2405,14 @@ static void prefs_details_create(void) _("Only mark message as read when opened in new window")); #endif + hbox1 = gtk_hbox_new (FALSE, 8); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0); PACK_CHECK_BUTTON - (vbox2, checkbtn_openinbox, + (hbox1, checkbtn_openinbox, _("Open inbox after receiving new mail")); PACK_CHECK_BUTTON - (vbox2, checkbtn_openinbox_startup, _("Open inbox on startup")); + (hbox1, checkbtn_openinbox_startup, _("Open inbox on startup")); PACK_CHECK_BUTTON (vbox2, checkbtn_change_account_on_folder_sel, @@ -2475,6 +2487,7 @@ static void prefs_details_create(void) gtk_box_pack_start(GTK_BOX(vbox_tab), advanced_wid, FALSE, FALSE, 0); interface.checkbtn_always_show_msg = checkbtn_always_show_msg; + interface.checkbtn_always_mark_read = checkbtn_always_mark_read; interface.checkbtn_openunread = checkbtn_openunread; interface.checkbtn_remember_lastsel = checkbtn_remember_lastsel; #if 0 diff --git a/src/summaryview.c b/src/summaryview.c index c187a3de..01606b76 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -2735,7 +2735,8 @@ static void summary_display_msg_full(SummaryView *summaryview, gtk_widget_grab_focus(summaryview->treeview); } - if (val == 0 && new_window) { + if (val == 0 && + (new_window || prefs_common.always_mark_read_on_show_msg)) { if (MSG_IS_NEW(msginfo->flags) || MSG_IS_UNREAD(msginfo->flags)) { summary_mark_row_as_read(summaryview, iter); -- cgit v1.2.3