aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Williams <peterw@src.gnome.org>2000-08-25 04:20:28 +0800
committerPeter Williams <peterw@src.gnome.org>2000-08-25 04:20:28 +0800
commitf6e3d603c991774938d7125d97b6e3ed10a57ddd (patch)
tree343d8bb6ab761664a6b942e8d021863ecdf27503
parent73a6d43a66a828b09e2c1b5a483405e6e0b5fa6a (diff)
downloadgsoc2013-evolution-f6e3d603c991774938d7125d97b6e3ed10a57ddd.tar.gz
gsoc2013-evolution-f6e3d603c991774938d7125d97b6e3ed10a57ddd.tar.zst
gsoc2013-evolution-f6e3d603c991774938d7125d97b6e3ed10a57ddd.zip
Sync the right-click menu with the main menu for modifying messages
svn path=/trunk/; revision=5018
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/folder-browser-factory.c35
-rw-r--r--mail/mail.h7
-rw-r--r--mail/message-list.c12
4 files changed, 55 insertions, 6 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 811e918928..767238e21a 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,12 @@
2000-08-24 Peter Williams <peterw@helixcode.com>
+ * folder-browser-factory.c (control_activate): Add all the
+ functions from message-list.c's popup menu to the main
+ menu as well
+
+ * message-list.c (vfolder_subject): These functions become
+ public.
+
* mail-callbacks.c (mark_all_seen): Don't call camel_folder_get_uids
here. IMAP, for example, will try to communicate with the IMAP
server during that call.
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index 9dacf3c83f..c9431fbb60 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -167,6 +167,7 @@ control_activate (BonoboControl *control, BonoboUIHandler *uih,
forget_passwords, folder_browser);
/* Message Menu */
+ /* Keep in sync with right-click menu in message-list.c:on_right_click*/
bonobo_ui_handler_menu_new_subtree (
uih, "/<Component Placeholder>/Message",
_("_Message"), NULL, -1,
@@ -220,6 +221,40 @@ control_activate (BonoboControl *control, BonoboUIHandler *uih,
_("_Copy Message"), NULL, -1,
BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
(void *) copy_msg, folder_browser);
+ bonobo_ui_handler_menu_new_separator (
+ uih, "/<Component Placeholder>/Message/separator3", -1);
+ bonobo_ui_handler_menu_new_item (
+ uih, "/<Component Placeholder>/Message/VFolder on Subject",
+ _("_VFolder on Subject"), NULL, -1,
+ BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
+ (void *) vfolder_subject, folder_browser);
+ bonobo_ui_handler_menu_new_item (
+ uih, "/<Component Placeholder>/Message/VFolder on Sender",
+ _("VFolder on Se_nder"), NULL, -1,
+ BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
+ (void *) vfolder_sender, folder_browser);
+ bonobo_ui_handler_menu_new_item (
+ uih, "/<Component Placeholder>/Message/VFolder on Recipients",
+ _("VFolder on _Recipients"), NULL, -1,
+ BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
+ (void *) vfolder_recipient, folder_browser);
+ bonobo_ui_handler_menu_new_separator (
+ uih, "/<Component Placeholder>/Message/separator4", -1);
+ bonobo_ui_handler_menu_new_item (
+ uih, "/<Component Placeholder>/Message/Filter on Subject",
+ _("_Filter on Subject"), NULL, -1,
+ BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
+ (void *) filter_subject, folder_browser);
+ bonobo_ui_handler_menu_new_item (
+ uih, "/<Component Placeholder>/Message/Filter on Sender",
+ _("Fi_lter on Sender"), NULL, -1,
+ BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
+ (void *) filter_sender, folder_browser);
+ bonobo_ui_handler_menu_new_item (
+ uih, "/<Component Placeholder>/Message/Filter on Recipients",
+ _("Filter on Rec_ipients"), NULL, -1,
+ BONOBO_UI_HANDLER_PIXMAP_NONE, NULL, 0, 0,
+ (void *) filter_recipient, folder_browser);
/* Folder Menu */
bonobo_ui_handler_menu_new_subtree (
diff --git a/mail/mail.h b/mail/mail.h
index 2a3f54530e..df939305af 100644
--- a/mail/mail.h
+++ b/mail/mail.h
@@ -102,3 +102,10 @@ extern CamelSession *session;
gint mail_dialog_run_and_close (GnomeDialog *dlg);
gint mail_dialog_run (GnomeDialog *dlg);
+/* message-list */
+void vfolder_subject(GtkWidget *w, FolderBrowser *fb);
+void vfolder_sender(GtkWidget *w, FolderBrowser *fb);
+void vfolder_recipient(GtkWidget *w, FolderBrowser *fb);
+void filter_subject(GtkWidget *w, FolderBrowser *fb);
+void filter_sender(GtkWidget *w, FolderBrowser *fb);
+void filter_recipient(GtkWidget *w, FolderBrowser *fb);
diff --git a/mail/message-list.c b/mail/message-list.c
index 7499cbb651..e4f21933cf 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -1008,40 +1008,40 @@ select_row (ETableScrolled *table, gpointer user_data)
gtk_idle_add (idle_select_row, message_list);
}
-static void
+void
vfolder_subject(GtkWidget *w, FolderBrowser *fb)
{
vfolder_gui_add_from_message(fb->mail_display->current_message, AUTO_SUBJECT,
fb->uri);
}
-static void
+void
vfolder_sender(GtkWidget *w, FolderBrowser *fb)
{
vfolder_gui_add_from_message(fb->mail_display->current_message, AUTO_FROM,
fb->uri);
}
-static void
+void
vfolder_recipient(GtkWidget *w, FolderBrowser *fb)
{
vfolder_gui_add_from_message(fb->mail_display->current_message, AUTO_TO,
fb->uri);
}
-static void
+void
filter_subject(GtkWidget *w, FolderBrowser *fb)
{
filter_gui_add_from_message(fb->mail_display->current_message, AUTO_SUBJECT);
}
-static void
+void
filter_sender(GtkWidget *w, FolderBrowser *fb)
{
filter_gui_add_from_message(fb->mail_display->current_message, AUTO_FROM);
}
-static void
+void
filter_recipient(GtkWidget *w, FolderBrowser *fb)
{
filter_gui_add_from_message(fb->mail_display->current_message, AUTO_TO);