[evolution] Warn the user before marking all messages as read
- From: Chenthill Palanisamy <pchen src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Warn the user before marking all messages as read
- Date: Thu, 17 Jun 2010 06:28:13 +0000 (UTC)
commit 61215065cabb95ca45702ab15be1e80af4a0489e
Author: Chenthill Palanisamy <pchenthill novell com>
Date: Thu Jun 17 11:52:09 2010 +0530
Warn the user before marking all messages as read
plugins/mark-all-read/mark-all-read.c | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
---
diff --git a/plugins/mark-all-read/mark-all-read.c b/plugins/mark-all-read/mark-all-read.c
index e152ec1..826a596 100644
--- a/plugins/mark-all-read/mark-all-read.c
+++ b/plugins/mark-all-read/mark-all-read.c
@@ -44,6 +44,12 @@
N_("Do you want to mark messages as read in the current folder " \
"only, or in the current folder as well as all subfolders?")
+enum {
+ MARK_ALL_READ_CANCEL,
+ MARK_ALL_READ_CURRENT_FOLDER,
+ MARK_ALL_READ_WITH_SUBFOLDERS
+};
+
gboolean e_plugin_ui_init (GtkUIManager *ui_manager,
EShellView *shell_view);
gint e_plugin_lib_enable (EPlugin *ep, gint enable);
@@ -88,7 +94,7 @@ prompt_user (gboolean has_subfolders)
GtkWidget *widget;
GtkWidget *vbox;
gchar *markup;
- gint response;
+ gint response, ret;
if (!has_subfolders) {
EShell *shell;
@@ -99,7 +105,7 @@ prompt_user (gboolean has_subfolders)
return em_utils_prompt_user (
parent, NULL, "mail:ask-mark-all-read", NULL) ?
- GTK_RESPONSE_NO : GTK_RESPONSE_CANCEL;
+ MARK_ALL_READ_CURRENT_FOLDER : MARK_ALL_READ_CANCEL;
}
dialog = gtk_dialog_new ();
@@ -213,7 +219,14 @@ prompt_user (gboolean has_subfolders)
gtk_widget_destroy (dialog);
- return response;
+ if (response == GTK_RESPONSE_YES)
+ ret = MARK_ALL_READ_WITH_SUBFOLDERS;
+ else if (response == GTK_RESPONSE_NO)
+ ret = MARK_ALL_READ_CURRENT_FOLDER;
+ else
+ ret = MARK_ALL_READ_CANCEL;
+
+ return ret;
}
static gboolean
@@ -383,14 +396,14 @@ mar_got_folder (gchar *folder_uri,
if (camel_exception_is_set (&ex))
goto exit;
- if (scan_folder_tree_for_unread (folder_uri) > 1)
- response = prompt_user (folder_info->child != NULL);
- else
- response = GTK_RESPONSE_NO;
+ response = prompt_user (folder_info->child != NULL);
+
+ if (response == MARK_ALL_READ_CANCEL)
+ return;
- if (response == GTK_RESPONSE_NO)
+ if (response == MARK_ALL_READ_CURRENT_FOLDER)
mark_all_as_read (folder);
- else if (response == GTK_RESPONSE_YES)
+ else if (response == MARK_ALL_READ_WITH_SUBFOLDERS)
mar_all_sub_folders (parent_store, folder_info, &ex);
exit:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]