aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/folder-browser-factory.c5
-rw-r--r--mail/mail-callbacks.c14
-rw-r--r--mail/mail.h1
4 files changed, 28 insertions, 0 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index df20047d42..e2eadbc881 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,11 @@
+2000-08-27 Ariel Rios <ariel@arcavia.com>
+
+ * folder-browser-factory.c (control_activate): Added bonobo menu handler for mark_all_deleted function.
+
+ * mail.h: (mark_all_deleted): Added prototype.
+
+ * mail-callbacks.c (mark_all_deleted): Added callback for marking all displayed messages in a folder as deleted.
+
2000-08-26 Ettore Perazzoli <ettore@helixcode.com>
* mail-view.c (mail_view_create): Use
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index c9431fbb60..d3eafcb933 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -267,6 +267,11 @@ control_activate (BonoboControl *control, BonoboUIHandler *uih,
BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
mark_all_seen, folder_browser);
bonobo_ui_handler_menu_new_item (
+ uih, "/<Component Placeholder>/Folder/Delete all",
+ _("_Delete all"), NULL, -1,
+ BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
+ mark_all_deleted, folder_browser);
+ bonobo_ui_handler_menu_new_item (
uih, "/<Component Placeholder>/Folder/Expunge",
_("_Expunge"), NULL, -1,
BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index f80b91e136..c335315c34 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -462,6 +462,20 @@ mark_all_seen (BonoboUIHandler *uih, void *user_data, const char *path)
}
void
+mark_all_deleted (BonoboUIHandler *uih, void *user_data, const char *path)
+{
+ FolderBrowser *fb = FOLDER_BROWSER (user_data);
+ MessageList *ml = fb->message_list;
+
+ if (ml->folder == NULL)
+ return;
+
+ mail_do_flag_all_messages (ml->folder, FALSE,
+ CAMEL_MESSAGE_DELETED, CAMEL_MESSAGE_DELETED);
+}
+
+
+void
edit_msg (GtkWidget *widget, gpointer user_data)
{
FolderBrowser *fb = FOLDER_BROWSER (user_data);
diff --git a/mail/mail.h b/mail/mail.h
index df939305af..c5ea0c4b3e 100644
--- a/mail/mail.h
+++ b/mail/mail.h
@@ -64,6 +64,7 @@ void edit_msg (GtkWidget *widget, gpointer user_data);
void view_msg (GtkWidget *widget, gpointer user_data);
void mark_all_seen (BonoboUIHandler *uih, void *user_data, const char *path);
+void mark_all_deleted (BonoboUIHandler *uih, void *user_data, const char *path);
void edit_message (BonoboUIHandler *uih, void *user_data, const char *path);
void view_message (BonoboUIHandler *uih, void *user_data, const char *path);
void expunge_folder (BonoboUIHandler *uih, void *user_data, const char *path);