diff options
author | Peter Williams <peterw@ximian.com> | 2001-06-27 06:37:13 +0800 |
---|---|---|
committer | Peter Williams <peterw@src.gnome.org> | 2001-06-27 06:37:13 +0800 |
commit | e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa (patch) | |
tree | cdbaaf549cfc3ec2f320fa58ae9c8cc4224f9e37 | |
parent | 4b0115db80758e6ee57dc2a1f512e0f0ed952390 (diff) | |
download | gsoc2013-evolution-e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa.tar gsoc2013-evolution-e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa.tar.gz gsoc2013-evolution-e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa.tar.bz2 gsoc2013-evolution-e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa.tar.lz gsoc2013-evolution-e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa.tar.xz gsoc2013-evolution-e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa.tar.zst gsoc2013-evolution-e5e79cb370b32909d1fbc1fc923aeb1f0a6446fa.zip |
Mail:
001-06-26 Peter Williams <peterw@ximian.com>
* folder-browser-ui.c: New file derived from folder-browser-factory.c.
Contains the Bonobo UI code, split into three groups as described in
ui/ChangeLog. Also contains the GalView stuff and the hookups into
the Bonobo UI stuff.
* folder-browser-factory.c: Move most of the UI stuff to folder-browser-ui.c.
(control_activate): Add all three kinds of UI element to this folderbrowser.
(control_deactivate): Remove all three kinds.
* folder-browser-ui.h: New file. Prototypes functions to add UI elements
to a FolderBrowser.
* Makefile.am: Add folder-browser-ui.{c,h}
* message-browser.c (PARENT_TYPE): Change to BONOBO_TYPE_WINDOW
(message_browser_destroy): Chain to parent destroy function.
(set_bonobo_ui): New function. Add the 'message' functions from the folder
browser to our UI.
(message_browser_close): BonoboVerbify this.
* message-browser.h: Convert to BonoboWindow.
UI:
6-26 Peter Williams <peterw@ximian.com>
* evolution-mail-global.xml:
* evolution-mail-list.xml:
* evolution-mail-message.xml: New files. These are the result
of splitting evolution-mail.xml into three pieces: one for the
global mailer operations, one for the operations on a messagelist,
and one for the operations on one or more messages.
* evolution-mail-messagedisplay: New file. UI for the standalone
message browser that you get when you double-click. Very skeleton.
* evolution-mail.xml: Removed.
* Makefile.am: Updated to install new files.
svn path=/trunk/; revision=10514
-rw-r--r-- | mail/ChangeLog | 24 | ||||
-rw-r--r-- | mail/Makefile.am | 2 | ||||
-rw-r--r-- | mail/folder-browser-factory.c | 249 | ||||
-rw-r--r-- | mail/folder-browser-ui.c | 390 | ||||
-rw-r--r-- | mail/folder-browser-ui.h | 25 | ||||
-rw-r--r-- | mail/message-browser.c | 212 | ||||
-rw-r--r-- | mail/message-browser.h | 7 | ||||
-rw-r--r-- | ui/ChangeLog | 16 | ||||
-rw-r--r-- | ui/Makefile.am | 5 | ||||
-rw-r--r-- | ui/evolution-mail-global.xml | 139 | ||||
-rw-r--r-- | ui/evolution-mail-list.xml | 124 | ||||
-rw-r--r-- | ui/evolution-mail-message.xml | 308 | ||||
-rw-r--r-- | ui/evolution-mail-messagedisplay.xml | 59 | ||||
-rw-r--r-- | ui/evolution-mail.xml | 467 |
14 files changed, 1181 insertions, 846 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index bc372e151c..8230f423d4 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,27 @@ +2001-06-26 Peter Williams <peterw@ximian.com> + + * folder-browser-ui.c: New file derived from folder-browser-factory.c. + Contains the Bonobo UI code, split into three groups as described in + ui/ChangeLog. Also contains the GalView stuff and the hookups into + the Bonobo UI stuff. + + * folder-browser-factory.c: Move most of the UI stuff to folder-browser-ui.c. + (control_activate): Add all three kinds of UI element to this folderbrowser. + (control_deactivate): Remove all three kinds. + + * folder-browser-ui.h: New file. Prototypes functions to add UI elements + to a FolderBrowser. + + * Makefile.am: Add folder-browser-ui.{c,h} + + * message-browser.c (PARENT_TYPE): Change to BONOBO_TYPE_WINDOW + (message_browser_destroy): Chain to parent destroy function. + (set_bonobo_ui): New function. Add the 'message' functions from the folder + browser to our UI. + (message_browser_close): BonoboVerbify this. + + * message-browser.h: Convert to BonoboWindow. + 2001-06-26 Jeffrey Stedfast <fejj@ximian.com> * folder-browser.c (my_folder_browser_init): Helps if I spell diff --git a/mail/Makefile.am b/mail/Makefile.am index 8d075b531c..1c31e5c080 100644 --- a/mail/Makefile.am +++ b/mail/Makefile.am @@ -45,6 +45,8 @@ evolution_mail_SOURCES = \ folder-browser.h \ folder-browser-factory.c \ folder-browser-factory.h \ + folder-browser-ui.c \ + folder-browser-ui.h \ folder-info.c \ mail-accounts.c \ mail-accounts.h \ diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c index 70e149a6bd..9b2a198478 100644 --- a/mail/folder-browser-factory.c +++ b/mail/folder-browser-factory.c @@ -43,192 +43,6 @@ /* The FolderBrowser BonoboControls we have. */ static EList *control_list = NULL; -/* - * Add with 'folder_browser' - */ -BonoboUIVerb verbs [] = { - BONOBO_UI_UNSAFE_VERB ("EditCut", folder_browser_cut), - BONOBO_UI_UNSAFE_VERB ("EditCopy", folder_browser_copy), - BONOBO_UI_UNSAFE_VERB ("EditPaste", folder_browser_paste), - BONOBO_UI_UNSAFE_VERB ("EditInvertSelection", invert_selection), - BONOBO_UI_UNSAFE_VERB ("EditSelectAll", select_all), -/* BONOBO_UI_UNSAFE_VERB ("EditSelectThread", select_thread), */ - BONOBO_UI_UNSAFE_VERB ("EmptyTrash", empty_trash), - BONOBO_UI_UNSAFE_VERB ("FolderConfig", configure_folder), - BONOBO_UI_UNSAFE_VERB ("FolderExpunge", expunge_folder), - BONOBO_UI_UNSAFE_VERB ("ForgetPasswords", mail_session_forget_passwords), - BONOBO_UI_UNSAFE_VERB ("MailCompose", compose_msg), - BONOBO_UI_UNSAFE_VERB ("MailGetSend", send_receive_mail), - BONOBO_UI_UNSAFE_VERB ("MailNext", next_msg), - BONOBO_UI_UNSAFE_VERB ("MailNextUnread", next_unread_msg), - BONOBO_UI_UNSAFE_VERB ("MailNextFlagged", next_flagged_msg), - BONOBO_UI_UNSAFE_VERB ("MailPrevious", previous_msg), - BONOBO_UI_UNSAFE_VERB ("MailPreviousUnread", previous_unread_msg), - BONOBO_UI_UNSAFE_VERB ("MailPreviousFlagged", previous_flagged_msg), - BONOBO_UI_UNSAFE_VERB ("MailStop", stop_threads), - BONOBO_UI_UNSAFE_VERB ("MessageApplyFilters", apply_filters), - BONOBO_UI_UNSAFE_VERB ("MessageCopy", copy_msg), - BONOBO_UI_UNSAFE_VERB ("MessageDelete", delete_msg), - BONOBO_UI_UNSAFE_VERB ("MessageForward", forward), - BONOBO_UI_UNSAFE_VERB ("MessageForwardAttached", forward_attached), - BONOBO_UI_UNSAFE_VERB ("MessageForwardInline", forward_inline), - BONOBO_UI_UNSAFE_VERB ("MessageForwardQuoted", forward_quoted), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAllAsRead", mark_all_as_seen), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsRead", mark_as_seen), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnRead", mark_as_unseen), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsImportant", mark_as_important), - BONOBO_UI_UNSAFE_VERB ("MessageMove", move_msg), - BONOBO_UI_UNSAFE_VERB ("MessageOpen", open_message), - BONOBO_UI_UNSAFE_VERB ("MessageReplyAll", reply_to_all), - BONOBO_UI_UNSAFE_VERB ("MessageReplySender", reply_to_sender), - BONOBO_UI_UNSAFE_VERB ("MessageReplyList", reply_to_list), - BONOBO_UI_UNSAFE_VERB ("MessageResend", resend_msg), - BONOBO_UI_UNSAFE_VERB ("MessageSaveAs", save_msg), - BONOBO_UI_UNSAFE_VERB ("MessageSearch", search_msg), - BONOBO_UI_UNSAFE_VERB ("MessageUndelete", undelete_msg), - BONOBO_UI_UNSAFE_VERB ("PrintMessage", print_msg), - BONOBO_UI_UNSAFE_VERB ("PrintPreviewMessage", print_preview_msg), - BONOBO_UI_UNSAFE_VERB ("ToolsFilterMailingList", filter_mlist), - BONOBO_UI_UNSAFE_VERB ("ToolsFilterRecipient", filter_recipient), - BONOBO_UI_UNSAFE_VERB ("ToolsFilters", filter_edit), - BONOBO_UI_UNSAFE_VERB ("ToolsFilterSender", filter_sender), - BONOBO_UI_UNSAFE_VERB ("ToolsFilterSubject", filter_subject), - BONOBO_UI_UNSAFE_VERB ("ToolsSettings", providers_config), - BONOBO_UI_UNSAFE_VERB ("ToolsSubscriptions", manage_subscriptions), - BONOBO_UI_UNSAFE_VERB ("ToolsVFolderMailingList", vfolder_mlist), - BONOBO_UI_UNSAFE_VERB ("ToolsVFolderRecipient", vfolder_recipient), - BONOBO_UI_UNSAFE_VERB ("ToolsVFolders", vfolder_edit_vfolders), - BONOBO_UI_UNSAFE_VERB ("ToolsVFolderSender", vfolder_sender), - BONOBO_UI_UNSAFE_VERB ("ToolsVFolderSubject", vfolder_subject), - BONOBO_UI_UNSAFE_VERB ("ViewHideRead", hide_read), - BONOBO_UI_UNSAFE_VERB ("ViewHideSelected", hide_selected), - BONOBO_UI_UNSAFE_VERB ("ViewLoadImages", load_images), - BONOBO_UI_UNSAFE_VERB ("ViewShowAll", hide_none), - - BONOBO_UI_VERB_END -}; - -static EPixmap pixcache [] = { - E_PIXMAP ("/commands/MailCompose", "new-message.xpm"), - E_PIXMAP ("/commands/FolderConfig", "configure_16_folder.xpm"), - E_PIXMAP ("/commands/PrintMessage", "print.xpm"), - E_PIXMAP ("/commands/PrintPreviewMessage", "print-preview.xpm"), - - E_PIXMAP ("/commands/MessageDelete", "delete_message.xpm"), - E_PIXMAP ("/commands/MessageUndelete", "undelete_message.xpm"), - - E_PIXMAP ("/commands/ViewHideRead", "hide_read_messages.xpm"), - E_PIXMAP ("/commands/ViewHideSelected", "hide_selected_messages.xpm"), - E_PIXMAP ("/commands/ViewShowAll", "show_all_messages.xpm"), - - E_PIXMAP ("/commands/MailGetSend", "send-receive.xpm"), - E_PIXMAP ("/commands/MessageCopy", "copy_16_message.xpm"), - E_PIXMAP ("/commands/MessageMove", "move_message.xpm"), - E_PIXMAP ("/commands/MessageReplyAll", "reply_to_all.xpm"), - E_PIXMAP ("/commands/MessageReplySender", "reply.xpm"), - E_PIXMAP ("/commands/MessageForward", "forward.xpm"), - - E_PIXMAP ("/commands/ToolsSettings", "configure_16_mail.xpm"), - - E_PIXMAP ("/Toolbar/MailGetSend", "buttons/send-24-receive.png"), - E_PIXMAP ("/Toolbar/MailCompose", "buttons/compose-message.png"), - E_PIXMAP ("/Toolbar/MessageReplySender", "buttons/reply.png"), - E_PIXMAP ("/Toolbar/MessageReplyAll", "buttons/reply-to-all.png"), - E_PIXMAP ("/Toolbar/MessageForward", "buttons/forward.png"), - E_PIXMAP ("/Toolbar/MessageMove", "buttons/move-message.png"), - E_PIXMAP ("/Toolbar/MessageCopy", "buttons/copy-message.png"), - - E_PIXMAP_END -}; - -static void -display_view(GalViewCollection *collection, - GalView *view, - gpointer data) -{ - FolderBrowser *fb = data; - if (GAL_IS_VIEW_ETABLE(view)) { - e_tree_set_state_object(fb->message_list->tree, GAL_VIEW_ETABLE(view)->state); - } -} - -static void -folder_browser_setup_view_menus (FolderBrowser *fb, - BonoboUIComponent *uic) -{ - GalViewFactory *factory; - ETableSpecification *spec; - char *local_dir; - - g_assert (fb->view_collection == NULL); - g_assert (fb->view_menus == NULL); - - fb->view_collection = gal_view_collection_new(); - - local_dir = gnome_util_prepend_user_home ("/evolution/views/mail/"); - gal_view_collection_set_storage_directories( - fb->view_collection, - EVOLUTION_DATADIR "/evolution/views/mail/", - local_dir); - g_free (local_dir); - - spec = e_table_specification_new(); - e_table_specification_load_from_file(spec, EVOLUTION_ETSPECDIR "/message-list.etspec"); - - factory = gal_view_factory_etable_new (spec); - gtk_object_unref (GTK_OBJECT (spec)); - gal_view_collection_add_factory (fb->view_collection, factory); - gtk_object_unref (GTK_OBJECT (factory)); - - gal_view_collection_load(fb->view_collection); - - fb->view_menus = gal_view_menus_new(fb->view_collection); - gal_view_menus_apply(fb->view_menus, uic, NULL); - gtk_signal_connect(GTK_OBJECT(fb->view_collection), "display_view", - display_view, fb); -} - -/* Gets rid of the view collection and view menus objects */ -static void -folder_browser_discard_view_menus (FolderBrowser *fb) -{ - g_assert (fb->view_collection != NULL); - g_assert (fb->view_menus != NULL); - - gtk_object_unref (GTK_OBJECT (fb->view_collection)); - fb->view_collection = NULL; - - gtk_object_unref (GTK_OBJECT (fb->view_menus)); - fb->view_menus = NULL; -} - -static void -folder_browser_setup_property_menu (FolderBrowser *fb, - BonoboUIComponent *uic) -{ - char *name, *base = NULL; - - if (fb->uri) - base = g_basename (fb->uri); - - if (base && base [0] != 0) - name = g_strdup_printf (_("Properties for \"%s\""), base); - else - name = g_strdup (_("Properties")); - - bonobo_ui_component_set_prop ( - uic, "/menu/File/Folder/FolderConfig", - "label", name, NULL); - g_free (name); -} - -/* Must be in the same order as MailConfigDisplayStyle */ -char *message_display_styles[] = { - "/commands/ViewNormal", - "/commands/ViewFullHeaders", - "/commands/ViewSource" -}; - static void control_activate (BonoboControl *control, BonoboUIComponent *uic, @@ -248,60 +62,9 @@ control_activate (BonoboControl *control, folder_browser = bonobo_control_get_widget (control); folder_browser_set_ui_component (FOLDER_BROWSER (folder_browser), uic); - bonobo_ui_component_add_verb_list_with_data ( - uic, verbs, folder_browser); - - bonobo_ui_component_freeze (uic, NULL); - - bonobo_ui_util_set_ui ( - uic, EVOLUTION_DATADIR, - "evolution-mail.xml", "evolution-mail"); - - state = mail_config_get_show_preview (FOLDER_BROWSER (folder_browser)->uri); - bonobo_ui_component_set_prop (uic, "/commands/ViewPreview", "state", state ? "1" : "0", NULL); - bonobo_ui_component_add_listener (uic, "ViewPreview", folder_browser_toggle_preview, folder_browser); - /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ - folder_browser_toggle_preview (uic, "", Bonobo_UIComponent_STATE_CHANGED, state ? "1" : "0", folder_browser); - - state = mail_config_get_thread_list (FOLDER_BROWSER (folder_browser)->uri); - bonobo_ui_component_set_prop (uic, "/commands/ViewThreaded", "state", state ? "1" : "0", NULL); - bonobo_ui_component_add_listener (uic, "ViewThreaded", folder_browser_toggle_threads, folder_browser); - /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ - folder_browser_toggle_threads (uic, "", Bonobo_UIComponent_STATE_CHANGED, state ? "1" : "0", folder_browser); - - state = mail_config_get_message_display_style (); - bonobo_ui_component_set_prop (uic, message_display_styles[state], - "state", "1", NULL); - bonobo_ui_component_add_listener (uic, "ViewNormal", folder_browser_set_message_display_style, folder_browser); - bonobo_ui_component_add_listener (uic, "ViewFullHeaders", folder_browser_set_message_display_style, folder_browser); - bonobo_ui_component_add_listener (uic, "ViewSource", folder_browser_set_message_display_style, folder_browser); - /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ - folder_browser_set_message_display_style (uic, strrchr (message_display_styles[state], '/') + 1, - Bonobo_UIComponent_STATE_CHANGED, "1", folder_browser); - - if (fb->folder && CAMEL_IS_VTRASH_FOLDER(fb->folder)) { - bonobo_ui_component_set_prop(uic, "/commands/HideDeleted", "sensitive", "0", NULL); - state = FALSE; - } else { - state = mail_config_get_hide_deleted(); - } - bonobo_ui_component_set_prop (uic, "/commands/HideDeleted", "state", state ? "1" : "0", NULL); - bonobo_ui_component_add_listener (uic, "HideDeleted", folder_browser_toggle_hide_deleted, - folder_browser); - /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ - folder_browser_toggle_hide_deleted (uic, "", Bonobo_UIComponent_STATE_CHANGED, - state ? "1" : "0", folder_browser); - if (fb->folder && !folder_browser_is_sent (fb)) - bonobo_ui_component_set_prop (uic, "/commands/MessageResend", "sensitive", "0", NULL); - - folder_browser_setup_view_menus (fb, uic); - folder_browser_setup_property_menu (fb, uic); - - e_pixmaps_update (uic, pixcache); - - bonobo_ui_component_set_prop(uic, "/commands/MailStop", "sensitive", "0", NULL); - - bonobo_ui_component_thaw (uic, NULL); + folder_browser_ui_add_global (fb); + folder_browser_ui_add_list (fb); + folder_browser_ui_add_message (fb); if (fb->folder) mail_refresh_folder (fb->folder, NULL, NULL); @@ -312,8 +75,9 @@ control_deactivate (BonoboControl *control, BonoboUIComponent *uic, FolderBrowser *fb) { - bonobo_ui_component_rm (uic, "/", NULL); - bonobo_ui_component_unset_container (uic); + folder_browser_ui_rm_message (fb); + folder_browser_ui_rm_list (fb); + folder_browser_ui_rm_global (fb); /* turn this back on to get the old (broken) behaviour of * synching when leaving a folder @@ -324,7 +88,6 @@ control_deactivate (BonoboControl *control, #endif folder_browser_set_ui_component (fb, NULL); - folder_browser_discard_view_menus (fb); } static void diff --git a/mail/folder-browser-ui.c b/mail/folder-browser-ui.c new file mode 100644 index 0000000000..f856c34617 --- /dev/null +++ b/mail/folder-browser-ui.c @@ -0,0 +1,390 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * folder-browser-ui.c: Sets up the Bonobo UI for FolderBrowsers + * + * Author: + * Peter Williams <peterw@ximian.com> + * + * (C) 2001 Ximian, Inc. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <libgnome/gnome-defs.h> +#include <libgnome/gnome-util.h> /* gnome_util_prepend_user_home */ + +#include <bonobo/bonobo-ui-component.h> +#include <bonobo/bonobo-ui-util.h> + +#include "widgets/menus/gal-view-menus.h" /* GalView stuff */ +#include <gal/menus/gal-view-factory-etable.h> +#include <gal/menus/gal-view-etable.h> + +#include "mail-callbacks.h" /* almost all the verbs */ +#include "mail-session.h" /* mail_session_forget_passwords */ + +#include "folder-browser-ui.h" + +#include "evolution-shell-component-utils.h" /* Pixmap stuff */ +#include "camel/camel-vtrash-folder.h" /* vtrash checking */ + +/* + * Add with 'folder_browser' + */ + +static BonoboUIVerb message_verbs [] = { + BONOBO_UI_UNSAFE_VERB ("MailNext", next_msg), + BONOBO_UI_UNSAFE_VERB ("MailNextFlagged", next_flagged_msg), + BONOBO_UI_UNSAFE_VERB ("MailNextUnread", next_unread_msg), +/* BONOBO_UI_UNSAFE_VERB ("MailNextThread", next_thread),*/ + BONOBO_UI_UNSAFE_VERB ("MailPrevious", previous_msg), + BONOBO_UI_UNSAFE_VERB ("MailPreviousFlagged", previous_flagged_msg), + BONOBO_UI_UNSAFE_VERB ("MailPreviousUnread", previous_unread_msg), + BONOBO_UI_UNSAFE_VERB ("MessageApplyFilters", apply_filters), + BONOBO_UI_UNSAFE_VERB ("MessageCopy", copy_msg), + BONOBO_UI_UNSAFE_VERB ("MessageDelete", delete_msg), + BONOBO_UI_UNSAFE_VERB ("MessageForward", forward), + BONOBO_UI_UNSAFE_VERB ("MessageForwardAttached", forward_attached), + BONOBO_UI_UNSAFE_VERB ("MessageForwardInline", forward_inline), + BONOBO_UI_UNSAFE_VERB ("MessageForwardQuoted", forward_quoted), +/* BONOBO_UI_UNSAFE_VERB ("MessageMarkAsImportant", mark_as_important),*/ + BONOBO_UI_UNSAFE_VERB ("MessageMarkAsRead", mark_as_seen), + BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnRead", mark_as_unseen), + BONOBO_UI_UNSAFE_VERB ("MessageMove", move_msg), + BONOBO_UI_UNSAFE_VERB ("MessageOpen", open_message), + BONOBO_UI_UNSAFE_VERB ("MessageReplyAll", reply_to_all), + BONOBO_UI_UNSAFE_VERB ("MessageReplyList", reply_to_list), + BONOBO_UI_UNSAFE_VERB ("MessageReplySender", reply_to_sender), + BONOBO_UI_UNSAFE_VERB ("MessageResend", resend_msg), + BONOBO_UI_UNSAFE_VERB ("MessageSaveAs", save_msg), + BONOBO_UI_UNSAFE_VERB ("MessageSearch", search_msg), + BONOBO_UI_UNSAFE_VERB ("MessageUndelete", undelete_msg), + BONOBO_UI_UNSAFE_VERB ("PrintMessage", print_msg), + BONOBO_UI_UNSAFE_VERB ("PrintPreviewMessage", print_preview_msg), + BONOBO_UI_UNSAFE_VERB ("ToolsFilterMailingList", filter_mlist), + BONOBO_UI_UNSAFE_VERB ("ToolsFilterRecipient", filter_recipient), + BONOBO_UI_UNSAFE_VERB ("ToolsFilterSender", filter_sender), + BONOBO_UI_UNSAFE_VERB ("ToolsFilterSubject", filter_subject), + BONOBO_UI_UNSAFE_VERB ("ToolsVFolderMailingList", vfolder_mlist), + BONOBO_UI_UNSAFE_VERB ("ToolsVFolderRecipient", vfolder_recipient), + BONOBO_UI_UNSAFE_VERB ("ToolsVFolderSender", vfolder_sender), + BONOBO_UI_UNSAFE_VERB ("ToolsVFolderSubject", vfolder_subject), + BONOBO_UI_UNSAFE_VERB ("ViewLoadImages", load_images), + /* ViewHeaders stuff is a radio */ + + BONOBO_UI_VERB_END +}; + +static BonoboUIVerb list_verbs [] = { + BONOBO_UI_UNSAFE_VERB ("EditCut", folder_browser_cut), + BONOBO_UI_UNSAFE_VERB ("EditCopy", folder_browser_copy), + BONOBO_UI_UNSAFE_VERB ("EditPaste", folder_browser_paste), + BONOBO_UI_UNSAFE_VERB ("EditInvertSelection", invert_selection), + BONOBO_UI_UNSAFE_VERB ("EditSelectAll", select_all), +/* BONOBO_UI_UNSAFE_VERB ("EditSelectThread", select_thread),*/ + BONOBO_UI_UNSAFE_VERB ("ChangeFolderProperties", configure_folder), + BONOBO_UI_UNSAFE_VERB ("FolderExpunge", expunge_folder), + /* HideDeleted is a toggle */ + BONOBO_UI_UNSAFE_VERB ("MessageMarkAllAsRead", mark_all_as_seen), + BONOBO_UI_UNSAFE_VERB ("ViewHideRead", hide_read), + BONOBO_UI_UNSAFE_VERB ("ViewHideSelected", hide_selected), + BONOBO_UI_UNSAFE_VERB ("ViewShowAll", hide_none), + /* ViewThreaded is a toggle */ + + BONOBO_UI_VERB_END +}; + +static BonoboUIVerb global_verbs [] = { + BONOBO_UI_UNSAFE_VERB ("EmptyTrash", empty_trash), + BONOBO_UI_UNSAFE_VERB ("ForgetPasswords", mail_session_forget_passwords), + BONOBO_UI_UNSAFE_VERB ("MailCompose", compose_msg), + BONOBO_UI_UNSAFE_VERB ("MailGetSend", send_receive_mail), + BONOBO_UI_UNSAFE_VERB ("MailStop", stop_threads), + BONOBO_UI_UNSAFE_VERB ("ToolsFilters", filter_edit), + BONOBO_UI_UNSAFE_VERB ("ToolsSettings", providers_config), + BONOBO_UI_UNSAFE_VERB ("ToolsSubscriptions", manage_subscriptions), + BONOBO_UI_UNSAFE_VERB ("ToolsVFolders", vfolder_edit_vfolders), + /* ViewPreview is a toggle */ + + BONOBO_UI_VERB_END +}; + +static EPixmap message_pixcache [] = { + E_PIXMAP ("/commands/PrintMessage", "print.xpm"), + E_PIXMAP ("/commands/PrintPreviewMessage", "print-preview.xpm"), + E_PIXMAP ("/commands/MessageDelete", "delete_message.xpm"), + E_PIXMAP ("/commands/MessageUndelete", "undelete_message.xpm"), + E_PIXMAP ("/commands/MessageCopy", "copy_16_message.xpm"), + E_PIXMAP ("/commands/MessageMove", "move_message.xpm"), + E_PIXMAP ("/commands/MessageReplyAll", "reply_to_all.xpm"), + E_PIXMAP ("/commands/MessageReplySender", "reply.xpm"), + E_PIXMAP ("/commands/MessageForward", "forward.xpm"), + + E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageReplySender", "buttons/reply.png"), + E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageReplyAll", "buttons/reply-to-all.png"), + E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageForward", "buttons/forward.png"), + E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageMove", "buttons/move-message.png"), + E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageCopy", "buttons/copy-message.png"), + + E_PIXMAP_END +}; + +static EPixmap list_pixcache [] = { + E_PIXMAP ("/commands/ChangeFolderProperties", "configure_16_folder.xpm"), + E_PIXMAP ("/commands/ViewHideRead", "hide_read_messages.xpm"), + E_PIXMAP ("/commands/ViewHideSelected", "hide_selected_messages.xpm"), + E_PIXMAP ("/commands/ViewShowAll", "show_all_messages.xpm"), + + E_PIXMAP_END +}; + +static EPixmap global_pixcache [] = { + E_PIXMAP ("/commands/MailCompose", "new-message.xpm"), + E_PIXMAP ("/commands/MailGetSend", "send-receive.xpm"), + E_PIXMAP ("/commands/ToolsSettings", "configure_16_mail.xpm"), + + E_PIXMAP ("/Toolbar/MailGetSend", "buttons/send-24-receive.png"), + E_PIXMAP ("/Toolbar/MailCompose", "buttons/compose-message.png"), + + E_PIXMAP_END +}; + +static void ui_add (FolderBrowser *fb, + const gchar *name, + BonoboUIVerb verb[], + EPixmap pixcache[]) +{ + BonoboUIComponent *uic = fb->uicomp; + gchar *file; + + bonobo_ui_component_add_verb_list_with_data (uic, verb, fb); + + bonobo_ui_component_freeze (uic, NULL); + + file = g_strconcat ("evolution-mail-", name, ".xml", NULL); + bonobo_ui_util_set_ui (uic, EVOLUTION_DATADIR, file, "evolution-mail"); + g_free (file); + + e_pixmaps_update (uic, pixcache); + + bonobo_ui_component_thaw (uic, NULL); +} + +/* unused args, for now... */ + +static void ui_rm (FolderBrowser *fb, + const gchar *name, + BonoboUIVerb verb[], + EPixmap pixcache[]) +{ + BonoboUIComponent *uic = fb->uicomp; + + bonobo_ui_component_rm (uic, "/", NULL); + bonobo_ui_component_unset_container (uic); +} + +/* more complex stuff */ + +static void +display_view(GalViewCollection *collection, + GalView *view, + gpointer data) +{ + FolderBrowser *fb = data; + if (GAL_IS_VIEW_ETABLE(view)) { + e_tree_set_state_object(fb->message_list->tree, GAL_VIEW_ETABLE(view)->state); + } +} + +static void +folder_browser_setup_view_menus (FolderBrowser *fb, + BonoboUIComponent *uic) +{ + GalViewFactory *factory; + ETableSpecification *spec; + char *local_dir; + + g_assert (fb->view_collection == NULL); + g_assert (fb->view_menus == NULL); + + fb->view_collection = gal_view_collection_new(); + + local_dir = gnome_util_prepend_user_home ("/evolution/views/mail/"); + gal_view_collection_set_storage_directories( + fb->view_collection, + EVOLUTION_DATADIR "/evolution/views/mail/", + local_dir); + g_free (local_dir); + + spec = e_table_specification_new(); + e_table_specification_load_from_file(spec, EVOLUTION_ETSPECDIR "/message-list.etspec"); + + factory = gal_view_factory_etable_new (spec); + gtk_object_unref (GTK_OBJECT (spec)); + gal_view_collection_add_factory (fb->view_collection, factory); + gtk_object_unref (GTK_OBJECT (factory)); + + gal_view_collection_load(fb->view_collection); + + fb->view_menus = gal_view_menus_new(fb->view_collection); + gal_view_menus_apply(fb->view_menus, uic, NULL); + gtk_signal_connect(GTK_OBJECT(fb->view_collection), "display_view", + display_view, fb); +} + +/* Gets rid of the view collection and view menus objects */ +static void +folder_browser_discard_view_menus (FolderBrowser *fb) +{ + g_assert (fb->view_collection != NULL); + g_assert (fb->view_menus != NULL); + + gtk_object_unref (GTK_OBJECT (fb->view_collection)); + fb->view_collection = NULL; + + gtk_object_unref (GTK_OBJECT (fb->view_menus)); + fb->view_menus = NULL; +} + +static void +folder_browser_setup_property_menu (FolderBrowser *fb, + BonoboUIComponent *uic) +{ + char *name, *base = NULL; + + if (fb->uri) + base = g_basename (fb->uri); + + if (base && base [0] != 0) + name = g_strdup_printf (_("Properties for \"%s\""), base); + else + name = g_strdup (_("Properties")); + + bonobo_ui_component_set_prop ( + uic, "/menu/File/Folder/ChangeFolderProperties", + "label", name, NULL); + g_free (name); +} + +/* Must be in the same order as MailConfigDisplayStyle */ +/* used in folder-browser.c as well (therefore not static) */ +char *message_display_styles[] = { + "/commands/ViewNormal", + "/commands/ViewFullHeaders", + "/commands/ViewSource" +}; + +/* public */ + +void +folder_browser_ui_add_message (FolderBrowser *fb) +{ + int state; + BonoboUIComponent *uic = fb->uicomp; + + ui_add (fb, "message", message_verbs, message_pixcache); + + /* Display Style */ + + state = mail_config_get_message_display_style (); + bonobo_ui_component_set_prop (uic, message_display_styles[state], + "state", "1", NULL); + bonobo_ui_component_add_listener (uic, "ViewNormal", folder_browser_set_message_display_style, fb); + bonobo_ui_component_add_listener (uic, "ViewFullHeaders", folder_browser_set_message_display_style, fb); + bonobo_ui_component_add_listener (uic, "ViewSource", folder_browser_set_message_display_style, fb); + /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ + folder_browser_set_message_display_style (uic, strrchr (message_display_styles[state], '/') + 1, + Bonobo_UIComponent_STATE_CHANGED, "1", fb); + + /* Resend Message */ + + if (fb->folder && !folder_browser_is_sent (fb)) + bonobo_ui_component_set_prop (uic, "/commands/MessageResend", "sensitive", "0", NULL); +} + +void +folder_browser_ui_rm_message (FolderBrowser *fb) +{ + ui_rm (fb, "message", message_verbs, message_pixcache); +} + +void +folder_browser_ui_add_list (FolderBrowser *fb) +{ + int state; + BonoboUIComponent *uic = fb->uicomp; + + ui_add (fb, "list", list_verbs, list_pixcache); + + /* Hide Deleted */ + + if (fb->folder && CAMEL_IS_VTRASH_FOLDER(fb->folder)) { + bonobo_ui_component_set_prop(uic, "/commands/HideDeleted", "sensitive", "0", NULL); + state = FALSE; + } else { + state = mail_config_get_hide_deleted(); + } + bonobo_ui_component_set_prop (uic, "/commands/HideDeleted", "state", state ? "1" : "0", NULL); + bonobo_ui_component_add_listener (uic, "HideDeleted", folder_browser_toggle_hide_deleted, + fb); + /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ + folder_browser_toggle_hide_deleted (uic, "", Bonobo_UIComponent_STATE_CHANGED, + state ? "1" : "0", fb); + + /* Threaded toggle */ + + state = mail_config_get_thread_list (FOLDER_BROWSER (fb)->uri); + bonobo_ui_component_set_prop (uic, "/commands/ViewThreaded", "state", state ? "1" : "0", NULL); + bonobo_ui_component_add_listener (uic, "ViewThreaded", folder_browser_toggle_threads, fb); + /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ + folder_browser_toggle_threads (uic, "", Bonobo_UIComponent_STATE_CHANGED, state ? "1" : "0", fb); + + /* Property menu */ + + folder_browser_setup_property_menu (fb, fb->uicomp); +} + +void +folder_browser_ui_rm_list (FolderBrowser *fb) +{ + ui_rm (fb, "list", list_verbs, list_pixcache); +} + +void +folder_browser_ui_add_global (FolderBrowser *fb) +{ + int state; + BonoboUIComponent *uic = fb->uicomp; + + ui_add (fb, "global", global_verbs, global_pixcache); + + /* (Pre)view toggle */ + + state = mail_config_get_show_preview (FOLDER_BROWSER (fb)->uri); + bonobo_ui_component_set_prop (uic, "/commands/ViewPreview", "state", state ? "1" : "0", NULL); + bonobo_ui_component_add_listener (uic, "ViewPreview", folder_browser_toggle_preview, fb); + /* FIXME: this kind of bypasses bonobo but seems the only way when we change components */ + folder_browser_toggle_preview (uic, "", Bonobo_UIComponent_STATE_CHANGED, state ? "1" : "0", fb); + + /* Stop button */ + + bonobo_ui_component_set_prop(uic, "/commands/MailStop", "sensitive", "0", NULL); + + /* View menu */ + + folder_browser_setup_view_menus (fb, fb->uicomp); + +} + +void +folder_browser_ui_rm_global (FolderBrowser *fb) +{ + ui_rm (fb, "global", global_verbs, global_pixcache); + + /* View menu */ + + folder_browser_discard_view_menus (fb); +} + diff --git a/mail/folder-browser-ui.h b/mail/folder-browser-ui.h new file mode 100644 index 0000000000..75060aeeef --- /dev/null +++ b/mail/folder-browser-ui.h @@ -0,0 +1,25 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * folder-browser-ui.c: Sets up the Bonobo UI for FolderBrowsers + * + * Author: + * Peter Williams <peterw@ximian.com> + * + * (C) 2001 Ximian, Inc. + */ + +#ifndef _FOLDER_BROWSER_UI_H +#define _FOLDER_BROWSER_UI_H + +#include "folder-browser.h" + +void folder_browser_ui_add_message (FolderBrowser *fb); +void folder_browser_ui_rm_message (FolderBrowser *fb); + +void folder_browser_ui_add_list (FolderBrowser *fb); +void folder_browser_ui_rm_list (FolderBrowser *fb); + +void folder_browser_ui_add_global (FolderBrowser *fb); +void folder_browser_ui_rm_global (FolderBrowser *fb); + +#endif /* _FOLDER_BROWSER_FACTORY_H */ diff --git a/mail/message-browser.c b/mail/message-browser.c index f3de72806a..39ff1249cc 100644 --- a/mail/message-browser.c +++ b/mail/message-browser.c @@ -25,6 +25,10 @@ #endif #include <gal/util/e-util.h> +#include <bonobo/bonobo-exception.h> +#include <bonobo/bonobo-ui-component.h> +#include <bonobo/bonobo-ui-container.h> +#include <bonobo/bonobo-ui-util.h> #include "message-browser.h" @@ -40,17 +44,19 @@ #include "mail-local.h" #include "mail-config.h" +#include "folder-browser-ui.h" + #define d(x) x #define MINIMUM_WIDTH 600 #define MINIMUM_HEIGHT 400 -#define PARENT_TYPE (gnome_app_get_type ()) +#define PARENT_TYPE BONOBO_TYPE_WINDOW /* Size of the window last time it was changed. */ static GtkAllocation last_allocation = { 0, 0 }; -static GnomeAppClass *message_browser_parent_class; +static BonoboWindowClass *message_browser_parent_class; static void message_browser_destroy (GtkObject *object) @@ -62,6 +68,9 @@ message_browser_destroy (GtkObject *object) gtk_object_unref (GTK_OBJECT (message_browser->fb)); gtk_widget_destroy (GTK_WIDGET (message_browser)); + + if (GTK_OBJECT_CLASS (message_browser_parent_class)->destroy) + (GTK_OBJECT_CLASS (message_browser_parent_class)->destroy) (object); } static void @@ -78,81 +87,21 @@ message_browser_init (GtkObject *object) } -static void -message_browser_close (GtkWidget *menuitem, gpointer user_data) -{ - gtk_widget_destroy (GTK_WIDGET (user_data)); -} - -static void -message_browser_reply_to_sender (GtkWidget *widget, gpointer user_data) -{ - MessageBrowser *mb = MESSAGE_BROWSER (user_data); - - reply_to_sender (NULL, mb->fb); -} - -static void -message_browser_reply_to_all (GtkWidget *widget, gpointer user_data) -{ - MessageBrowser *mb = MESSAGE_BROWSER (user_data); - - reply_to_all (NULL, mb->fb); -} +/* UI callbacks */ static void -message_browser_forward_msg (GtkWidget *widget, gpointer user_data) +message_browser_close (BonoboUIComponent *uih, void *user_data, const char *path) { - MessageBrowser *mb = MESSAGE_BROWSER (user_data); - - forward (NULL, mb->fb); -} - -static void -message_browser_print_msg (GtkWidget *widget, gpointer user_data) -{ - MessageBrowser *mb = MESSAGE_BROWSER (user_data); - - mail_print_msg (mb->fb->mail_display); -} - -static void -message_browser_delete_msg (GtkWidget *button, gpointer user_data) -{ - MessageBrowser *mb = MESSAGE_BROWSER (user_data); - - delete_msg (NULL, mb->fb); + gtk_widget_destroy (GTK_WIDGET (user_data)); } -static void -message_browser_next_msg (GtkWidget *button, gpointer user_data) -{ - MessageBrowser *mb = MESSAGE_BROWSER (user_data); - int row; - - row = e_tree_row_of_node (mb->fb->message_list->tree, - e_tree_get_cursor (mb->fb->message_list->tree)); - - message_list_select (mb->fb->message_list, row, - MESSAGE_LIST_SELECT_NEXT, - 0, 0); - -} +static BonoboUIVerb +browser_verbs [] = { + BONOBO_UI_UNSAFE_VERB ("MessageBrowserClose", message_browser_close), + BONOBO_UI_VERB_END +}; -static void -message_browser_prev_msg (GtkWidget *button, gpointer user_data) -{ - MessageBrowser *mb = MESSAGE_BROWSER (user_data); - int row; - - row = e_tree_row_of_node (mb->fb->message_list->tree, - e_tree_get_cursor (mb->fb->message_list->tree)); - - message_list_select (mb->fb->message_list, row, - MESSAGE_LIST_SELECT_PREVIOUS, - 0, 0); - -} +/* FB message loading hookups */ static void message_browser_message_loaded (FolderBrowser *fb, const char *uid, MessageBrowser *mb) @@ -189,58 +138,7 @@ message_browser_folder_loaded (FolderBrowser *fb, const char *uri, MessageBrowse message_browser_message_list_built, mb); } -static GnomeUIInfo message_browser_toolbar [] = { - - /*GNOMEUIINFO_ITEM_STOCK (N_("Save"), N_("Save this message"), - save_msg, GNOME_STOCK_PIXMAP_SAVE),*/ - - GNOMEUIINFO_ITEM_STOCK (N_("Reply"), N_("Reply to the sender of this message"), - message_browser_reply_to_sender, GNOME_STOCK_PIXMAP_MAIL_RPL), - - GNOMEUIINFO_ITEM_STOCK (N_("Reply to All"), N_("Reply to all recipients of this message"), - message_browser_reply_to_all, GNOME_STOCK_PIXMAP_MAIL_RPL), - - GNOMEUIINFO_ITEM_STOCK (N_("Forward"), N_("Forward this message"), - message_browser_forward_msg, GNOME_STOCK_PIXMAP_MAIL_FWD), - - GNOMEUIINFO_SEPARATOR, - - GNOMEUIINFO_ITEM_STOCK (N_("Print"), N_("Print the selected message"), - message_browser_print_msg, GNOME_STOCK_PIXMAP_PRINT), - - GNOMEUIINFO_ITEM_STOCK (N_("Delete"), N_("Delete this message"), - message_browser_delete_msg, GNOME_STOCK_PIXMAP_TRASH), - - GNOMEUIINFO_SEPARATOR, - - GNOMEUIINFO_ITEM_STOCK (N_("Previous"), N_("Previous message"), - message_browser_prev_msg, GNOME_STOCK_PIXMAP_BACK), - - GNOMEUIINFO_ITEM_STOCK (N_("Next"), N_("Next message"), - message_browser_next_msg, GNOME_STOCK_PIXMAP_FORWARD), - - GNOMEUIINFO_END -}; - -static GnomeUIInfo file_menu[] = { - /*GNOMEUIINFO_MENU_SAVE_ITEM (save, NULL),*/ - /*GNOMEUIINFO_MENU_SAVE_AS_ITEM (save_as, NULL),*/ - /*GNOMEUIINFO_SEPARATOR,*/ - GNOMEUIINFO_MENU_CLOSE_ITEM (message_browser_close, NULL), - GNOMEUIINFO_END -}; - -static GnomeUIInfo view_menu[] = -{ - GNOMEUIINFO_END -}; - -static GnomeUIInfo message_browser_menubar[] = -{ - GNOMEUIINFO_MENU_FILE_TREE (file_menu), - GNOMEUIINFO_MENU_VIEW_TREE (view_menu), - GNOMEUIINFO_END -}; +/* Construction */ static void set_default_size (GtkWidget *widget) @@ -253,6 +151,53 @@ set_default_size (GtkWidget *widget) gtk_window_set_default_size (GTK_WINDOW (widget), width, height); } +static void +set_bonobo_ui (GtkWidget *widget, FolderBrowser *fb) +{ + BonoboUIContainer *uicont; + BonoboUIComponent *uic; + CORBA_Environment ev; + + uicont = bonobo_ui_container_new (); + bonobo_ui_container_set_win (uicont, BONOBO_WINDOW (widget)); + + uic = bonobo_ui_component_new_default (); + bonobo_ui_component_set_container (uic, BONOBO_OBJREF (uicont)); + folder_browser_set_ui_component (fb, uic); + + /* Load our UI */ + + bonobo_ui_component_freeze (uic, NULL); + bonobo_ui_util_set_ui (uic, EVOLUTION_DATADIR, "evolution-mail-messagedisplay.xml", "evolution-mail"); + + /* Load the appropriate UI stuff from the folder browser */ + + folder_browser_ui_add_message (fb); + + /* We just opened the message! We don't need to open it again. */ + + CORBA_exception_init (&ev); + bonobo_ui_component_rm (uic, "/menu/File/FileOps/MessageOpen", &ev); + if (BONOBO_EX (&ev)) + g_warning ("Couldn't remove message open item. Weird. Error: %s", + bonobo_exception_get_text (&ev)); + CORBA_exception_free (&ev); + + /* Customize Toolbar thingie */ + + bonobo_ui_engine_config_set_path (bonobo_window_get_ui_engine (BONOBO_WINDOW (widget)), + "/evolution/UIConf/messagebrowser"); + + /* Add the Close item */ + + bonobo_ui_component_add_verb_list_with_data (uic, browser_verbs, widget); + + /* Done */ + + bonobo_ui_component_thaw (uic, NULL); + +} + GtkWidget * message_browser_new (const GNOME_Evolution_Shell shell, const char *uri, const char *uid) { @@ -260,18 +205,20 @@ message_browser_new (const GNOME_Evolution_Shell shell, const char *uri, const c MessageBrowser *new; FolderBrowser *fb; - new = gtk_type_new (message_browser_get_type ()); - - gnome_app_construct (GNOME_APP (new), "Evolution", ""); - + new = gtk_type_new (MESSAGE_BROWSER_TYPE); + new = (MessageBrowser *) bonobo_window_construct (BONOBO_WINDOW (new), "Evolution", ""); + if (!new) { + g_warning ("Failed to construct Bonobo window!"); + return NULL; + } + gtk_object_set_data_full (GTK_OBJECT (new), "uid", g_strdup (uid), g_free); - gnome_app_create_toolbar_with_data (GNOME_APP (new), message_browser_toolbar, new); - gnome_app_create_menus_with_data (GNOME_APP (new), message_browser_menubar, new); - fb = FOLDER_BROWSER (folder_browser_new (shell)); new->fb = fb; - + + set_bonobo_ui (GTK_WIDGET (new), fb); + /* some evil hackery action... */ vbox = gtk_vbox_new (TRUE, 0); gtk_widget_ref (GTK_WIDGET (fb->mail_display)); @@ -279,7 +226,7 @@ message_browser_new (const GNOME_Evolution_Shell shell, const char *uri, const c gtk_widget_show (GTK_WIDGET (fb->mail_display)); gtk_widget_show (vbox); - gnome_app_set_contents (GNOME_APP (new), vbox); + bonobo_window_set_contents (BONOBO_WINDOW (new), vbox); gtk_widget_grab_focus (GTK_WIDGET (MAIL_DISPLAY (fb->mail_display)->html)); set_default_size (GTK_WIDGET (new)); @@ -296,6 +243,7 @@ message_browser_new (const GNOME_Evolution_Shell shell, const char *uri, const c return GTK_WIDGET (new); } +/* Fin */ E_MAKE_TYPE (message_browser, "MessageBrowser", MessageBrowser, message_browser_class_init, message_browser_init, PARENT_TYPE); diff --git a/mail/message-browser.h b/mail/message-browser.h index 365a2cd6da..208396bff4 100644 --- a/mail/message-browser.h +++ b/mail/message-browser.h @@ -24,6 +24,8 @@ #define _MESSAGE_BROWSER_H_ #include <gnome.h> +#include <bonobo/bonobo-win.h> + #include <camel/camel-folder.h> #include "folder-browser.h" #include "mail-display.h" @@ -35,9 +37,8 @@ #define IS_MESSAGE_BROWSER(o) (GTK_CHECK_TYPE ((o), MESSAGE_BROWSER_TYPE)) #define IS_MESSAGE_BROWSER_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), MESSAGE_BROWSER_TYPE)) - struct _MessageBrowser { - GnomeApp parent; + BonoboWindow parent; /* * The current URI being displayed by the MessageBrowser @@ -47,7 +48,7 @@ struct _MessageBrowser { typedef struct { - GnomeAppClass parent_class; + BonoboWindowClass parent_class; } MessageBrowserClass; diff --git a/ui/ChangeLog b/ui/ChangeLog index 95e4389829..f37db02e55 100644 --- a/ui/ChangeLog +++ b/ui/ChangeLog @@ -1,3 +1,19 @@ +2001-06-26 Peter Williams <peterw@ximian.com> + + * evolution-mail-global.xml: + * evolution-mail-list.xml: + * evolution-mail-message.xml: New files. These are the result + of splitting evolution-mail.xml into three pieces: one for the + global mailer operations, one for the operations on a messagelist, + and one for the operations on one or more messages. + + * evolution-mail-messagedisplay: New file. UI for the standalone + message browser that you get when you double-click. Very skeleton. + + * evolution-mail.xml: Removed. + + * Makefile.am: Updated to install new files. + 2001-06-25 jacob berkman <jacob@ximian.com> * evolution-mail.xml: add a preview toggle item diff --git a/ui/Makefile.am b/ui/Makefile.am index 2fc5d2f392..bae9374006 100644 --- a/ui/Makefile.am +++ b/ui/Makefile.am @@ -7,7 +7,10 @@ XML_FILES = \ evolution-comp-editor.xml \ evolution-event-editor.xml \ evolution-executive-summary.xml \ - evolution-mail.xml \ + evolution-mail-message.xml \ + evolution-mail-list.xml \ + evolution-mail-global.xml \ + evolution-mail-messagedisplay.xml \ evolution-message-composer.xml \ evolution-subscribe.xml \ evolution-task-editor.xml \ diff --git a/ui/evolution-mail-global.xml b/ui/evolution-mail-global.xml new file mode 100644 index 0000000000..70aa517a4d --- /dev/null +++ b/ui/evolution-mail-global.xml @@ -0,0 +1,139 @@ +<Root> + + <commands> <!-- Alphabetical by name, yo --> + + <cmd name="EmptyTrash" + _tip="Permanently remove all deleted messages from all folders"/> + + <cmd name="ForgetPasswords" + _tip="Forget remembered passwords so you will be prompted for them again"/> + + <cmd name="MailCompose" + _tip="Open a window for composing a mail message" + pixtype="pixbuf"/> + + <cmd name="MailGetSend" + _tip="Send queued mail and retrieve new mail" + pixtype="pixbuf"/> + + <cmd name="MailStop" + _tip="Cancel the current mail operation" + pixtype="stock" pixname="Stop"/> + + <cmd name="ToolsFilters" + _tip="Create or edit rules for filtering new mail"/> + + <cmd name="ToolsSettings" + _tip="Create or edit mail accounts and other preferences" + pixtype="pixbuf"/> + + <cmd name="ToolsSubscriptions" + _tip="Subscribe or unsubscribe to folders on remote servers"/> + + <cmd name="ToolsVFolders" + _tip="Create or edit virtual folder definitions"/> + + <cmd name="ViewPreview" + _tip="Show message preview window" + type="toggle" /> + + </commands> + + <keybindings> + + </keybindings> + + <menu> + + <submenu name="File"> + <submenu name="New"> + <placeholder name="NewFirstItem"> + <menuitem name="MessageNew" verb="MailCompose" + accel="*Control*n" _label="_Mail Message" + pixtype="pixbuf"/> + + <separator/> + </placeholder> + </submenu> + </submenu> + + <submenu name="View"> + <menuitem name="ViewPreview" verb="" _label="_Preview Pane"/> + <separator/> + <placeholder name="MailMessageView"/> + <placeholder name="MailListView"/> + </submenu> + + <submenu name="Edit"> + <placeholder name="MailListEdit"/> + <placeholder name="MailMessageEdit"/> + <placeholder name="MailListEditFlags"/> + </submenu> + + <submenu name="Actions"> + <placeholder name="Component"> + <menuitem name="MailGetSend" verb="" _label="_Send / Receive"/> + + <separator/> + + <placeholder name="MailMessageActions"/> + + <menuitem name="ForgetPasswords" verb="" _label="Forget _Passwords"/> + + <placeholder name="MailListActions"/> + + <menuitem name="EmptyTrash" verb="" _label="Empty _Trash"/> + </placeholder> + </submenu> + + <submenu name="Tools"> + <placeholder name="Component"> + + <menuitem name="ToolsSettings" verb="" _label="_Mail Settings..."/> + + <separator/> + + <placeholder name="MailFilterTools"> + <menuitem name="ToolsFilters" verb="" _label="_Filters..."/> + </placeholder> + + <separator/> + + <placeholder name="MailVFolderTools"> + <menuitem name="ToolsVFolders" verb="" _label="Virtual Folder _Editor..."/> + </placeholder> + + <separator/> + + <menuitem name="ToolsSubscriptions" verb="" _label="Manage _Subscriptions..."/> + + <separator/> + + </placeholder> + </submenu> + </menu> + + <dockitem name="Toolbar"> + + <toolitem name="MailGetSend" verb="" + _label="Send / Receive" priority="1" + pixtype="pixbuf"/> + + <toolitem name="MailCompose" verb="" + _label="Compose" priority="1" + pixtype="pixbuf"/> + + <separator/> + + <placeholder name="MailMessageToolbar"/> + + <toolitem name="MailStop" verb="" + _label="Cancel"/> + + <separator/> + + <placeholder name="MailNextButtons"/> + + </dockitem> + +</Root> diff --git a/ui/evolution-mail-list.xml b/ui/evolution-mail-list.xml new file mode 100644 index 0000000000..ed2111bdbe --- /dev/null +++ b/ui/evolution-mail-list.xml @@ -0,0 +1,124 @@ +<Root> + + <commands> <!-- Alphabetical by name, yo --> + + <cmd name="EditCut" + _tip="Cut selected messages" + accel="*Control*x"/> + + <cmd name="EditCopy" + _tip="Copy selected messages" + accel="*Control*c"/> + + <cmd name="EditPaste" + _tip="Paste message in the clipboard" + accel="*Control*v"/> + + <cmd name="EditInvertSelection" + _tip="Select all and only the messages that are not currently selected" + accel="*Control*i"/> + + <cmd name="EditSelectAll" + _tip="Select all visible messages" + accel="*Control*a"/> + + <cmd name="EditSelectThread" + _tip="Select all messages in the same thread as the selected message" + accel="*Control*h"/> + + <cmd name="ChangeFolderProperties" + _tip="Change the properties of this folder" + pixtype="pixbuf"/> + + <cmd name="FolderExpunge" + _tip="Permanently remove all deleted messages from this folder" + accel="*Control*x"/> + + <cmd name="HideDeleted" + _tip="Hide deleted messages rather than displaying them with a line through them" + type="toggle" /> + + <cmd name="MessageMarkAllAsRead" + _tip="Mark all visible messages as read"/> + + <cmd name="ViewHideRead" + _tip="Temporarily hide all messages that have already been read" + pixtype="pixbuf"/> + + <cmd name="ViewHideSelected" + _tip="Temporarily hide the selected messages" + pixtype="pixbuf"/> + + <cmd name="ViewShowAll" + _tip="Show messages that have been temporarily hidden" + pixtype="pixbuf"/> + + <cmd name="ViewThreaded" + _tip="Threaded Message list" + accel="*Control*t" + type="toggle" /> + + </commands> + + <keybindings> + + </keybindings> + + <menu> + +<!-- +This already exists in evolution.xml. We merely provide +the verb. + + <submenu name="File"> + <submenu name="Folder" _label="_Folder"> + <menuitem name="FolderConfig" verb="" _label="_Properties..."/> + </submenu> + </submenu> +--> + + <submenu name="Edit"> + <placeholder name="MailListEdit"> + <menuitem name="EditCut" verb="" _label="Cut"/> + <menuitem name="EditCopy" verb="" _label="Copy"/> + <menuitem name="EditPaste" verb="" _label="Paste"/> + + <separator/> + + <menuitem name="EditSelectAll" verb="" _label="Select _All"/> + <menuitem name="EditSelectThread" verb="" _label="Select _Thread"/> + <menuitem name="EditInvertSelection" verb="" _label="_Invert Selection"/> + + <separator/> + </placeholder> + + <placeholder name="MailListEditFlags"> + <menuitem name="MessageMarkAllAsRead" verb="" _label="Mark All as R_ead"/> + </placeholder> + + </submenu> + + <submenu name="View"> + <placeholder name="MailMessageView"> + <menuitem name="ViewThreaded" verb="" _label="_Threaded Message List"/> + <menuitem name="HideDeleted" verb="" _label="Hide _Deleted Messages"/> + </placeholder> + + <placeholder name="MailListView"> + <separator/> + <menuitem name="ViewShowAll" verb="" _label="Show _All"/> + <menuitem name="ViewHideSelected" verb="" _label="Hide S_elected Messages"/> + <menuitem name="ViewHideRead" verb="" _label="Hide _Read messages"/> + </placeholder> + </submenu> + + <submenu name="Actions"> + <placeholder name="Component"> + <placeholder name="MailListActions"> + <menuitem name="FolderExpunge" verb="" _label="_Expunge"/> + </placeholder> + </placeholder> + </submenu> + </menu> + +</Root> diff --git a/ui/evolution-mail-message.xml b/ui/evolution-mail-message.xml new file mode 100644 index 0000000000..7602683a91 --- /dev/null +++ b/ui/evolution-mail-message.xml @@ -0,0 +1,308 @@ +<Root> + + <commands> <!-- Alphabetical by name, yo --> + + <cmd name="MailNext" + _tip="Display the next message" + accel="f"/> + + <cmd name="MailNextFlagged" + _tip="Display the next important message"/> + + <cmd name="MailNextUnread" + _tip="Display the next unread message" + accel="n"/> + + <cmd name="MailNextThread" + _tip="Display the next unread thread" + accel="t"/> + + <cmd name="MailPrevious" + _tip="Display the previous message" + accel="b"/> + + <cmd name="MailPreviousFlagged" + _tip="Display the previous important message"/> + + <cmd name="MailPreviousUnread" + _tip="Display the previous unread message" + accel="p"/> + + <cmd name="MessageApplyFilters" + _tip="Apply filter rules to the selected messages" + accel="*Control*y"/> + + <cmd name="MessageCopy" + _tip="Copy selected messages to another folder" + accel="*Control*c" + pixtype="pixbuf" /> + + <cmd name="MessageDelete" + _tip="Mark the selected messages for deletion" + accel="*Control*d"/> + + <cmd name="MessageForward" + _tip="Forward the selected message to someone" + accel="*Control*f" + pixtype="pixbuf" /> + + <cmd name="MessageForwardAttached" + _tip="Forward the selected message to someone as an attachment" + accel="*Control*j"/> + + <cmd name="MessageForwardInline" + _tip="Forward the selected message in the body of a new message" + accel="*Control**Shift*j"/> + + <cmd name="MessageForwardQuoted" + _tip="Forward the selected message quoted like a reply"/> + + <cmd name="MessageMarkAsRead" + _tip="Mark the selected messages as having been read" + accel="*Control*k"/> + + <cmd name="MessageMarkAsUnRead" + _tip="Mark the selected messages as not having been read" + accel="*Control**Shift*k"/> + + <cmd name="MessageMove" + _tip="Move selected messages to another folder" + accel="*Control*m" + pixtype="pixbuf"/> + + <cmd name="MessageOpen" + _tip="Open the selected message in a new window" + accel="*Control*o"/> + + <cmd name="MessageReplyAll" + _tip="Compose a reply to all of the recipients of the selected message" + accel="*Control**Shift*r" + pixtype="pixbuf"/> + + <cmd name="MessageReplyList" + _tip="Compose a reply to the mailing list of the selected message" + accel="" + pixtype="pixbuf"/> + + <cmd name="MessageReplySender" + _tip="Compose a reply to the sender of the selected message" + accel="*Control*r" + pixtype="pixbuf"/> + + <cmd name="MessageResend" + _tip="Open the selected message in the composer to re-send it"/> + + <cmd name="MessageSaveAs" + _tip="Save the message as a text file" + accel="*Control**Alt*s" + pixtype="stock" pixname="Save"/> + + <cmd name="MessageSearch" + _tip="Search for text in the body of the displayed message" + accel="*Control*e"/> + + <cmd name="MessageUndelete" + _tip="Un-delete the selected messages" + accel="*Control*u"/> + + <cmd name="PrintMessage" + _tip="Print message to the printer" + accel="*Control*p" + pixtype="pixbuf"/> + + <cmd name="PrintPreviewMessage" + _tip="Previews the message to be printed" + pixtype="pixbuf"/> + + <cmd name="ToolsFilterMailingList" + _tip="Create a rule to filter messages to this mailing list"/> + + <cmd name="ToolsFilterRecipient" + _tip="Create a rule to filter messages to these recipients"/> + + <cmd name="ToolsFilterSender" + _tip="Create a rule to filter messages from this sender"/> + + <cmd name="ToolsFilterSubject" + _tip="Create a rule to filter messages with this subject"/> + + <cmd name="ToolsVFolderMailingList" + _tip="Create a virtual folder for this mailing list"/> + + <cmd name="ToolsVFolderRecipient" + _tip="Create a virtual folder for these recipients"/> + + <cmd name="ToolsVFolderSender" + _tip="Create a virtual folder for this sender"/> + + <cmd name="ToolsVFolderSubject" + _tip="Create a virtual folder for this subject"/> + + <cmd name="ViewFullHeaders" + _tip="Show message with all email headers" + type="radio" group="message_display"/> + + <cmd name="ViewLoadImages" + _tip="Force images in HTML mail to be loaded"/> + + <cmd name="ViewNormal" + _tip="Show message in the normal style" + type="radio" group="message_display"/> + + <cmd name="ViewSource" + _tip="Show the raw email source of the message" + type="radio" group="message_display"/> + + </commands> + + <keybindings> + + </keybindings> + + <menu> + + <submenu name="File"> + <placeholder name="FileOps"> + <menuitem name="MessageOpen" verb="" _label="_Open Message"/> + <menuitem name="MessageResend" verb="" _label="_Re-send Message"/> + <menuitem name="MessageSaveAs" verb="" _label="_Save As..."/> + </placeholder> + + <placeholder name="Print"> + <menuitem name="PrintPreviewMessage" verb="" _label="Print Preview..."/> + <menuitem name="PrintMessage" verb="" _label="Print Message..."/> + </placeholder> + </submenu> + + <submenu name="Edit"> + <placeholder name="MailMessageEdit"> + <menuitem name="MessageSearch" verb="" _label="S_earch Message"/> + + <separator/> + + <menuitem name="MessageDelete" verb="" _label="_Delete"/> + <menuitem name="MessageUndelete" verb="" _label="_Undelete"/> + + <separator/> + + <menuitem name="MessageMarkAsRead" verb="" _label="Mar_k As Read"/> + <menuitem name="MessageMarkAsUnRead" verb="" _label="Mark As U_nread"/> + </placeholder> + </submenu> + + <submenu name="View"> + <placeholder name="MailMessageView"> + <submenu name="MessageDisplay" _label="_Message Display"> + <menuitem name="ViewLoadImages" verb="" _label="Load _Images"/> + + <separator/> + + <menuitem name="ViewNormal" verb="" _label="_Normal Display"/> + <menuitem name="ViewFullHeaders" verb="" _label="Show Full _Headers"/> + <menuitem name="ViewSource" verb="" _label="Show Email _Source"/> + </submenu> + </placeholder> + </submenu> + + <submenu name="Actions"> + <placeholder name="Component"> + <placeholder name="MailMessageActions"> + <menuitem name="MessageReplySender" verb="" _label="_Reply to Sender"/> + <menuitem name="MessageReplyList" verb="" _label="Reply to _List"/> + <menuitem name="MessageReplyAll" verb="" _label="Reply to _All"/> + <menuitem name="MessageForward" verb="" _label="_Forward Message"/> + <submenu name="ForwardAs" _label="Forward As"> + <menuitem verb="MessageForwardAttached" _label="Forward _Attached"/> + <menuitem verb="MessageForwardInline" _label="Forward _Inline"/> + <menuitem verb="MessageForwardQuoted" _label="Forward _Quoted"/> + + <separator/> + + <menuitem name="Redirect" verb="" + _label="Redirect (FIXME: implement me)"/> + </submenu> + + <separator/> + + <menuitem name="MessageMove" verb="" _label="_Move to Folder"/> + <menuitem name="MessageCopy" verb="" _label="_Copy to Folder"/> + + <separator/> + + <menuitem name="MessageApplyFilters" verb="" _label="_Apply Filters"/> + </placeholder> + </placeholder> + </submenu> + + <submenu name="Tools"> + <placeholder name="Component"> + + <placeholder name="MailFilterTools"> + <submenu name="ToolsFilterFromMessage" _label="_Create Filter From Message"> + <menuitem name="ToolsFilterSubject" verb="" _label="Filter on _Subject"/> + <menuitem name="ToolsFilterSender" verb="" _label="Filter on Se_nder"/> + <menuitem name="ToolsFilterRecipient" verb="" _label="Filter on _Recipients"/> + <menuitem name="ToolsFilterMailingList" verb="" _label="Filter on Mailing _List"/> + </submenu> + </placeholder> + + <placeholder name="MailVFolderTools"> + <submenu name="ToolsVFolderFromMessage" _label="Create _Virtual Folder From Message"> + <menuitem name="ToolsVFolderSubject" verb="" _label="VFolder on _Subject..."/> + <menuitem name="ToolsVFolderSender" verb="" _label="VFolder on Se_nder..."/> + <menuitem name="ToolsVFolderRecipient" verb="" _label="VFolder on _Recipients..."/> + <menuitem name="ToolsVFolderMailingList" verb="" _label="VFolder on Mailing _List..."/> + </submenu> + </placeholder> + </placeholder> + </submenu> + </menu> + + <dockitem name="Toolbar"> + + <placeholder name="MailMessageToolbar"> + <toolitem name="MessageReplySender" verb="" + _label="Reply" priority="1" + pixtype="pixbuf"/> + + <toolitem name="MessageReplyAll" verb="" + _label="Reply to All" priority="1" + pixtype="pixbuf"/> + + <toolitem name="MessageForward" verb="" + _label="Forward" priority="1" + pixtype="pixbuf"/> + + <separator/> + + <toolitem name="MessageMove" verb="" + _label="Move" + pixtype="pixbuf"/> + + <toolitem name="MessageCopy" verb="" + _label="Copy" + pixtype="pixbuf"/> + + <separator/> + + <toolitem name="PrintMessage" verb="" + _label="Print" + pixtype="stock" pixname="Print"/> + + <toolitem name="MessageDelete" verb="" + _label="Delete" + pixtype="stock" pixname="Trash"/> + </placeholder> + + <placeholder name="MailNextButtons"> + <toolitem name="MailPrevious" verb="" + _label="Previous" + pixtype="stock" pixname="Back"/> + + <toolitem name="MailNext" verb="" + _label="Next" + pixtype="stock" pixname="Forward"/> + </placeholder> + </dockitem> + +</Root> diff --git a/ui/evolution-mail-messagedisplay.xml b/ui/evolution-mail-messagedisplay.xml new file mode 100644 index 0000000000..6cbc0e82ee --- /dev/null +++ b/ui/evolution-mail-messagedisplay.xml @@ -0,0 +1,59 @@ +<Root> + <commands> + <cmd name="MessageBrowserClose" _label="Close" _tip="Close this window" + pixtype="stock" pixname="Close" accel="*Control*w"/> + + <cmd name="BonoboCustomize" _label="Customize" + _tip="Customize toolbars" + pixtype="stock" pixname="Preferences"/> + </commands> + + <menu> + <submenu name="File" _label="_File"> + <placeholder name="FileOps"/> + + <separator/> + + <placeholder name="Print"/> + + <separator/> + + <menuitem name="MessageBrowserClose" verb="" + _label="_Close"/> + + </submenu> + + <submenu name="Edit" _label="_Edit"> + </submenu> + + <submenu name="View" _label="_View"> + <placeholder name="MailMessageView"/> + </submenu> + + <placeholder name="Component"/> + + <submenu name="Actions" _label="_Actions"> + <placeholder name="Component"> + <placeholder name="MailMessageActions"/> + </placeholder> + </submenu> + + <submenu name="Tools" _label="_Tools"> + <placeholder name="Component"> + <placeholder name="MailFilterTools"/> + <placeholder name="MailVFolderTools"/> + </placeholder> + + <menuitem name="BonoboCustomize" verb="" + _label="Customi_ze Toolbars..." pos="bottom"/> + </submenu> + + </menu> + + <dockitem name="Toolbar" relief="none" behavior="exclusive" + _tip="Main toolbar" hlook="text" vlook="icon"> + <placeholder name="MailMessageToolbar"/> + <separator/> + <placeholder name="MailNextButtons"/> + </dockitem> +</Root> diff --git a/ui/evolution-mail.xml b/ui/evolution-mail.xml deleted file mode 100644 index cf8851accc..0000000000 --- a/ui/evolution-mail.xml +++ /dev/null @@ -1,467 +0,0 @@ -<Root> - - <commands> <!-- Alphabetical by name, yo --> - - <cmd name="EditCut" - _tip="Cut selected messages" - accel="*Control*x"/> - - <cmd name="EditCopy" - _tip="Copy selected messages" - accel="*Control*c"/> - - <cmd name="EditPaste" - _tip="Paste message in the clipboard" - accel="*Control*v"/> - - <cmd name="EditInvertSelection" - _tip="Select all and only the messages that are not currently selected" - accel="*Control*i"/> - - <cmd name="EditSelectAll" - _tip="Select all visible messages" - accel="*Control*a"/> - - <cmd name="EditSelectThread" - _tip="Select all messages in the same thread as the selected message" - accel="*Control*h"/> - - <cmd name="EmptyTrash" - _tip="Permanently remove all deleted messages from all folders"/> - - <cmd name="FolderConfig" - _tip="Change the properties of this folder" - pixtype="pixbuf"/> - - <cmd name="FolderExpunge" - _tip="Permanently remove all deleted messages from this folder" - accel="*Control*x"/> - - <cmd name="ForgetPasswords" - _tip="Forget remembered passwords so you will be prompted for them again"/> - - <cmd name="HideDeleted" - _tip="Hide deleted messages rather than displaying them with a line through them" - type="toggle" /> - - <cmd name="MailCompose" - _tip="Open a window for composing a mail message" - pixtype="pixbuf"/> - - <cmd name="MailGetSend" - _tip="Send queued mail and retrieve new mail" - pixtype="pixbuf"/> - - <cmd name="MailNext" - _tip="Display the next message" - accel="f"/> - - <cmd name="MailNextUnread" - _tip="Display the next unread message" - accel="n"/> - - <cmd name="MailNextFlagged" - _tip="Display the next important message"/> - - <cmd name="MailNextThread" - _tip="Display the next unread thread" - accel="t"/> - - <cmd name="MailPrevious" - _tip="Display the previous message" - accel="b"/> - - <cmd name="MailPreviousUnread" - _tip="Display the previous unread message" - accel="p"/> - - <cmd name="MailPreviousFlagged" - _tip="Display the previous important message"/> - - <cmd name="MailStop" - _tip="Cancel the current mail operation" - pixtype="stock" pixname="Stop"/> - - <cmd name="MessageApplyFilters" - _tip="Apply filter rules to the selected messages" - accel="*Control*y"/> - - <cmd name="MessageCopy" - _tip="Copy selected messages to another folder" - accel="*Control*c" - pixtype="pixbuf" /> - - <cmd name="MessageDelete" - _tip="Mark the selected messages for deletion" - accel="*Control*d"/> - - <cmd name="MessageForward" - _tip="Forward the selected message to someone" - accel="*Control*f" - pixtype="pixbuf" /> - - <cmd name="MessageForwardAttached" - _tip="Forward the selected message to someone as an attachment" - accel="*Control*j"/> - - <cmd name="MessageForwardInline" - _tip="Forward the selected message in the body of a new message" - accel="*Control**Shift*j"/> - - <cmd name="MessageForwardQuoted" - _tip="Forward the selected message quoted like a reply"/> - - <cmd name="MessageMarkAllAsRead" - _tip="Mark all visible messages as read"/> - - <cmd name="MessageMarkAsRead" - _tip="Mark the selected messages as having been read" - accel="*Control*k"/> - - <cmd name="MessageMarkAsUnRead" - _tip="Mark the selected messages as not having been read" - accel="*Control**Shift*k"/> - - <cmd name="MessageMove" - _tip="Move selected messages to another folder" - accel="*Control*m" - pixtype="pixbuf"/> - - <cmd name="MessageOpen" - _tip="Open the selected message in a new window" - accel="*Control*o"/> - - <cmd name="MessageReplyAll" - _tip="Compose a reply to all of the recipients of the selected message" - accel="*Control**Shift*r" - pixtype="pixbuf"/> - - <cmd name="MessageReplySender" - _tip="Compose a reply to the sender of the selected message" - accel="*Control*r" - pixtype="pixbuf"/> - - <cmd name="MessageReplyList" - _tip="Compose a reply to the mailing list of the selected message" - accel="" - pixtype="pixbuf"/> - - <cmd name="MessageResend" - _tip="Open the selected message in the composer to re-send it"/> - - <cmd name="MessageSaveAs" - _tip="Save the message as a text file" - accel="*Control**Alt*s" - pixtype="stock" pixname="Save"/> - - <cmd name="MessageSearch" - _tip="Search for text in the body of the displayed message" - accel="*Control*e"/> - - <cmd name="MessageUndelete" - _tip="Un-delete the selected messages" - accel="*Control*u"/> - - <cmd name="PrintMessage" - _tip="Print message to the printer" - accel="*Control*p" - pixtype="pixbuf"/> - - <cmd name="PrintPreviewMessage" - _tip="Previews the message to be printed" - pixtype="pixbuf"/> - - <cmd name="ToolsFilterMailingList" - _tip="Create a rule to filter messages to this mailing list"/> - - <cmd name="ToolsFilterRecipient" - _tip="Create a rule to filter messages to these recipients"/> - - <cmd name="ToolsFilters" - _tip="Create or edit rules for filtering new mail"/> - - <cmd name="ToolsFilterSender" - _tip="Create a rule to filter messages from this sender"/> - - <cmd name="ToolsFilterSubject" - _tip="Create a rule to filter messages with this subject"/> - - <cmd name="ToolsSettings" - _tip="Create or edit mail accounts and other preferences" - pixtype="pixbuf"/> - - <cmd name="ToolsSubscriptions" - _tip="Subscribe or unsubscribe to folders on remote servers"/> - - <cmd name="ToolsVFolderMailingList" - _tip="Create a virtual folder for this mailing list"/> - - <cmd name="ToolsVFolderRecipient" - _tip="Create a virtual folder for these recipients"/> - - <cmd name="ToolsVFolders" - _tip="Create or edit virtual folder definitions"/> - - <cmd name="ToolsVFolderSender" - _tip="Create a virtual folder for this sender"/> - - <cmd name="ToolsVFolderSubject" - _tip="Create a virtual folder for this subject"/> - - <cmd name="ViewFullHeaders" - _tip="Show message with all email headers" - type="radio" group="message_display"/> - - <cmd name="ViewHideRead" - _tip="Temporarily hide all messages that have already been read" - pixtype="pixbuf"/> - - <cmd name="ViewHideSelected" - _tip="Temporarily hide the selected messages" - pixtype="pixbuf"/> - - <cmd name="ViewLoadImages" - _tip="Force images in HTML mail to be loaded"/> - - <cmd name="ViewNormal" - _tip="Show message in the normal style" - type="radio" group="message_display"/> - - <cmd name="ViewPreview" - _tip="Show message preview window" - type="toggle" /> - - <cmd name="ViewShowAll" - _tip="Show messages that have been temporarily hidden" - pixtype="pixbuf"/> - - <cmd name="ViewSource" - _tip="Show the raw email source of the message" - type="radio" group="message_display"/> - - <cmd name="ViewThreaded" - _tip="Threaded Message list" - accel="*Control*t" - type="toggle" /> - - </commands> - - <keybindings> - - </keybindings> - - <menu> - - <submenu name="File"> - <submenu name="New"> - <placeholder name="NewFirstItem"> - <menuitem name="MessageNew" verb="MailCompose" - accel="*Control*n" _label="_Mail Message" - pixtype="pixbuf"/> - - <separator/> - </placeholder> - </submenu> - - <placeholder name="FileOps"> - <menuitem name="MessageOpen" verb="" _label="_Open Message"/> - <menuitem name="MessageResend" verb="" _label="_Re-send Message"/> - <menuitem name="MessageSaveAs" verb="" _label="_Save As..."/> - </placeholder> - - <separator/> - - <submenu name="Folder" _label="_Folder"> - <menuitem name="FolderConfig" verb="" _label="_Properties..."/> - </submenu> - - <placeholder name="Print"> - <menuitem name="PrintPreviewMessage" verb="" _label="Print Preview..."/> - <menuitem name="PrintMessage" verb="" _label="Print Message..."/> - </placeholder> - </submenu> - - <submenu name="Edit"> - <menuitem name="EditCut" verb="" _label="Cut"/> - <menuitem name="EditCopy" verb="" _label="Copy"/> - <menuitem name="EditPaste" verb="" _label="Paste"/> - - <separator/> - - <menuitem name="EditSelectAll" verb="" _label="Select _All"/> - <menuitem name="EditSelectThread" verb="" _label="Select _Thread"/> - <menuitem name="EditInvertSelection" verb="" _label="_Invert Selection"/> - - <separator/> - - <menuitem name="MessageSearch" verb="" _label="S_earch Message"/> - - <separator/> - - <menuitem name="MessageDelete" verb="" _label="_Delete"/> - <menuitem name="MessageUndelete" verb="" _label="_Undelete"/> - - <separator/> - - <menuitem name="MessageMarkAsRead" verb="" _label="Mar_k As Read"/> - <menuitem name="MessageMarkAsUnRead" verb="" _label="Mark As U_nread"/> - <menuitem name="MessageMarkAllAsRead" verb="" _label="Mark All as R_ead"/> - </submenu> - - <submenu name="View"> - <menuitem name="ViewPreview" verb="" _label="_Preview Pane"/> - <separator/> - - <menuitem name="ViewThreaded" verb="" _label="_Threaded Message List"/> - <menuitem name="HideDeleted" verb="" _label="Hide _Deleted Messages"/> - - <submenu name="MessageDisplay" _label="_Message Display"> - <menuitem name="ViewLoadImages" verb="" _label="Load _Images"/> - - <separator/> - - <menuitem name="ViewNormal" verb="" _label="_Normal Display"/> - <menuitem name="ViewFullHeaders" verb="" _label="Show Full _Headers"/> - <menuitem name="ViewSource" verb="" _label="Show Email _Source"/> - </submenu> - - <separator/> - - <menuitem name="ViewShowAll" verb="" _label="Show _All"/> - <menuitem name="ViewHideSelected" verb="" _label="Hide S_elected Messages"/> - <menuitem name="ViewHideRead" verb="" _label="Hide _Read messages"/> - </submenu> - - <submenu name="Actions"> - <placeholder name="Component"> - <menuitem name="MailGetSend" verb="" _label="_Send / Receive"/> - - <separator/> - - <menuitem name="MessageReplySender" verb="" _label="_Reply to Sender"/> - <menuitem name="MessageReplyList" verb="" _label="Reply to _List"/> - <menuitem name="MessageReplyAll" verb="" _label="Reply to _All"/> - <menuitem name="MessageForward" verb="" _label="_Forward Message"/> - <submenu name="ForwardAs" _label="Forward As"> - <menuitem verb="MessageForwardAttached" _label="Forward _Attached"/> - <menuitem verb="MessageForwardInline" _label="Forward _Inline"/> - <menuitem verb="MessageForwardQuoted" _label="Forward _Quoted"/> - - <separator/> - - <menuitem name="Redirect" verb="" - _label="Redirect (FIXME: implement me)"/> - </submenu> - - <separator/> - - <menuitem name="MessageMove" verb="" _label="_Move to Folder"/> - <menuitem name="MessageCopy" verb="" _label="_Copy to Folder"/> - - <separator/> - - <menuitem name="MessageApplyFilters" verb="" _label="_Apply Filters"/> - <menuitem name="ForgetPasswords" verb="" _label="Forget _Passwords"/> - <menuitem name="FolderExpunge" verb="" _label="_Expunge"/> - - <menuitem name="EmptyTrash" verb="" _label="Empty _Trash"/> - </placeholder> - </submenu> - - <submenu name="Tools"> - <placeholder name="Component"> - - <menuitem name="ToolsSettings" verb="" _label="_Mail Settings..."/> - - <separator/> - - <menuitem name="ToolsFilters" verb="" _label="_Filters..."/> - - <submenu name="ToolsFilterFromMessage" _label="_Create Filter From Message"> - <menuitem name="ToolsFilterSubject" verb="" _label="Filter on _Subject"/> - <menuitem name="ToolsFilterSender" verb="" _label="Filter on Se_nder"/> - <menuitem name="ToolsFilterRecipient" verb="" _label="Filter on _Recipients"/> - <menuitem name="ToolsFilterMailingList" verb="" _label="Filter on Mailing _List"/> - </submenu> - - <separator/> - - <menuitem name="ToolsVFolders" verb="" _label="Virtual Folder _Editor..."/> - - <submenu name="ToolsVFolderFromMessage" _label="Create _Virtual Folder From Message"> - <menuitem name="ToolsVFolderSubject" verb="" _label="VFolder on _Subject..."/> - <menuitem name="ToolsVFolderSender" verb="" _label="VFolder on Se_nder..."/> - <menuitem name="ToolsVFolderRecipient" verb="" _label="VFolder on _Recipients..."/> - <menuitem name="ToolsVFolderMailingList" verb="" _label="VFolder on Mailing _List..."/> - </submenu> - - <separator/> - - <menuitem name="ToolsSubscriptions" verb="" _label="Manage _Subscriptions..."/> - - <separator/> - - </placeholder> - </submenu> - </menu> - - <dockitem name="Toolbar"> - - <toolitem name="MailGetSend" verb="" - _label="Send / Receive" priority="1" - pixtype="pixbuf"/> - - <toolitem name="MailCompose" verb="" - _label="Compose" priority="1" - pixtype="pixbuf"/> - - <separator/> - - <toolitem name="MessageReplySender" verb="" - _label="Reply" priority="1" - pixtype="pixbuf"/> - - <toolitem name="MessageReplyAll" verb="" - _label="Reply to All" priority="1" - pixtype="pixbuf"/> - - <toolitem name="MessageForward" verb="" - _label="Forward" priority="1" - pixtype="pixbuf"/> - - <separator/> - - <toolitem name="MessageMove" verb="" - _label="Move" - pixtype="pixbuf"/> - - <toolitem name="MessageCopy" verb="" - _label="Copy" - pixtype="pixbuf"/> - - <separator/> - - <toolitem name="PrintMessage" verb="" - _label="Print" - pixtype="stock" pixname="Print"/> - - <toolitem name="MessageDelete" verb="" - _label="Delete" - pixtype="stock" pixname="Trash"/> - - <toolitem name="MailStop" verb="" - _label="Cancel"/> - - <separator/> - - <toolitem name="MailPrevious" verb="" - _label="Previous" - pixtype="stock" pixname="Back"/> - - <toolitem name="MailNext" verb="" - _label="Next" - pixtype="stock" pixname="Forward"/> - - </dockitem> - -</Root> |