diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2008-12-16 20:47:18 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2008-12-16 20:47:18 +0800 |
commit | d05caaf34695a99fba53f0ec59b23568e8746454 (patch) | |
tree | 3a0b0acfc8e0d84dfbd3e6de29faa6b954f65217 | |
parent | f252ffb547b5542bcf03557d39f8e5c32f325c0a (diff) | |
download | gsoc2013-evolution-d05caaf34695a99fba53f0ec59b23568e8746454.tar gsoc2013-evolution-d05caaf34695a99fba53f0ec59b23568e8746454.tar.gz gsoc2013-evolution-d05caaf34695a99fba53f0ec59b23568e8746454.tar.bz2 gsoc2013-evolution-d05caaf34695a99fba53f0ec59b23568e8746454.tar.lz gsoc2013-evolution-d05caaf34695a99fba53f0ec59b23568e8746454.tar.xz gsoc2013-evolution-d05caaf34695a99fba53f0ec59b23568e8746454.tar.zst gsoc2013-evolution-d05caaf34695a99fba53f0ec59b23568e8746454.zip |
- Start fleshing out some of the mail actions.
svn path=/branches/kill-bonobo/; revision=36905
-rw-r--r-- | mail/e-mail-shell-content.c | 13 | ||||
-rw-r--r-- | mail/e-mail-shell-view-actions.c | 209 | ||||
-rw-r--r-- | mail/e-mail-shell-view-private.h | 2 | ||||
-rw-r--r-- | mail/em-folder-view.c | 274 | ||||
-rw-r--r-- | mail/em-folder-view.h | 2 |
5 files changed, 345 insertions, 155 deletions
diff --git a/mail/e-mail-shell-content.c b/mail/e-mail-shell-content.c index cdd49aa718..7ab8dbbcd2 100644 --- a/mail/e-mail-shell-content.c +++ b/mail/e-mail-shell-content.c @@ -29,6 +29,7 @@ #include "widgets/menus/gal-view-instance.h" #include "em-folder-view.h" +#include "em-format-html-display.h" #include "em-search-context.h" #include "em-utils.h" #include "mail-config.h" @@ -40,8 +41,8 @@ struct _EMailShellContentPrivate { GtkWidget *paned; GtkWidget *folder_view; - GtkWidget *preview; + EMFormatHTMLDisplay *preview; GalViewInstance *view_instance; guint paned_binding_id; @@ -196,7 +197,9 @@ mail_shell_content_constructed (GObject *object) container = widget; widget = em_folder_view_new (); - gtk_paned_add1 (GTK_PANED (container), widget); + gtk_paned_add1 (GTK_PANED (container), ((EMFolderView *) widget)->list); + gtk_widget_show (((EMFolderView *) widget)->list); + /*gtk_paned_add1 (GTK_PANED (container), widget);*/ priv->folder_view = g_object_ref (widget); gtk_widget_show (widget); @@ -209,6 +212,12 @@ mail_shell_content_constructed (GObject *object) gtk_paned_add2 (GTK_PANED (container), widget); gtk_widget_show (widget); + container = widget; + + priv->preview = ((EMFolderView *) priv->folder_view)->preview; + gtk_container_add (GTK_CONTAINER (container), ((EMFormatHTML *) priv->preview)->html); + gtk_widget_show (((EMFormatHTML *) priv->preview)->html); + /* Load the view instance. */ e_mail_shell_content_update_view_instance ( diff --git a/mail/e-mail-shell-view-actions.c b/mail/e-mail-shell-view-actions.c index 3c7a5fdf7f..42c8070298 100644 --- a/mail/e-mail-shell-view-actions.c +++ b/mail/e-mail-shell-view-actions.c @@ -21,6 +21,9 @@ #include "e-mail-shell-view-private.h" +/* Remembers the previously selected folder when transferring messages. */ +static gchar *default_xfer_messages_uri; + static void action_mail_add_sender_cb (GtkAction *action, EMailShellView *mail_shell_view) @@ -57,8 +60,62 @@ static void action_mail_copy_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EShellModule *shell_module; + EShellView *shell_view; + EMFolderTreeModel *model; + EMFolderView *folder_view; + GtkWidget *folder_tree; + GtkWidget *dialog; + GPtrArray *selected; + const gchar *uri; + + shell_view = E_SHELL_VIEW (mail_shell_view); + shell_module = e_shell_view_get_shell_module (shell_view); + model = e_mail_shell_module_get_folder_tree_model (shell_module); + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + selected = message_list_get_selected (folder_view->list); + + folder_tree = em_folder_tree_new_with_model (model); + + em_folder_tree_set_excluded ( + EM_FOLDER_TREE (folder_tree), + EMFT_EXCLUDE_NOSELECT | EMFT_EXCLUDE_VIRTUAL | + EMFT_EXCLUDE_VTRASH); + + dialog = em_folder_selector_new ( + EM_FOLDER_TREE (folder_tree), + EM_FOLDER_SELECTOR_CAN_CREATE, + _("Select Folder"), NULL, _("C_opy")); + + if (default_xfer_messages_uri != NULL) + em_folder_selector_set_selected ( + EM_FOLDER_SELECTOR (dialog), + default_xfer_messages_uri); + + if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK) + goto exit; + + uri = em_folder_selector_get_selected_uri ( + EM_FOLDER_SELECTOR (dialog)); + + g_free (default_xfer_messages_uri); + default_xfer_messages_uri = g_strdup (uri); + + if (uri != NULL) { + mail_transfer_messages ( + folder_view->folder, selected, + FALSE, uri, 0, NULL, NULL); + selected = NULL; + } + +exit: + if (selected != NULL) + em_utils_uids_free (selected); + + gtk_widget_destroy (dialog); } static void @@ -337,48 +394,114 @@ static void action_mail_mark_important_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EMFolderView *folder_view; + guint32 mask, set; + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + + mask = CAMEL_MESSAGE_FLAGGED | CAMEL_MESSAGE_DELETED; + set = CAMEL_MESSAGE_FLAGGED; + + em_folder_view_mark_selected (folder_view, mask, set); } static void action_mail_mark_junk_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EMFolderView *folder_view; + guint32 mask, set; + gint count; + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + + mask = CAMEL_MESSAGE_SEEN | CAMEL_MESSAGE_JUNK | + CAMEL_MESSAGE_NOTJUNK | CAMEL_MESSAGE_JUNK_LEARN; + set = CAMEL_MESSAGE_SEEN | CAMEL_MESSAGE_JUNK | + CAMEL_MESSAGE_JUNK_LEARN; + + count = em_folder_view_mark_selected (folder_view, mask, set); + em_folder_view_select_next_message (folder_view, count, TRUE); } static void action_mail_mark_notjunk_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EMFolderView *folder_view; + guint32 mask, set; + gint count; + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + + mask = CAMEL_MESSAGE_JUNK | CAMEL_MESSAGE_NOTJUNK | + CAMEL_MESSAGE_JUNK_LEARN; + set = CAMEL_MESSAGE_NOTJUNK | CAMEL_MESSAGE_JUNK_LEARN; + + count = em_folder_view_mark_selected (folder_view, mask, set); + em_folder_view_select_next_message (folder_view, count, TRUE); } static void action_mail_mark_read_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EMFolderView *folder_view; + guint32 mask, set; + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + + mask = CAMEL_MESSAGE_SEEN; + set = CAMEL_MESSAGE_SEEN; + + em_folder_view_mark_selected (folder_view, mask, set); } static void action_mail_mark_unimportant_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EMFolderView *folder_view; + guint32 mask, set; + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + + mask = CAMEL_MESSAGE_FLAGGED; + set = 0; + + em_folder_view_mark_selected (folder_view, mask, set); } static void action_mail_mark_unread_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EMFolderView *folder_view; + guint32 mask, set; + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + + mask = CAMEL_MESSAGE_SEEN | CAMEL_MESSAGE_DELETED; + set = 0; + + em_folder_view_mark_selected (folder_view, mask, set); + + if (folder_view->list->seen_id != 0) { + g_source_remove (folder_view->list->seen_id); + folder_view->list->seen_id = 0; + } } static void @@ -417,8 +540,62 @@ static void action_mail_move_cb (GtkAction *action, EMailShellView *mail_shell_view) { - /* FIXME */ - g_print ("Action: %s\n", gtk_action_get_name (GTK_ACTION (action))); + EMailShellContent *mail_shell_content; + EShellModule *shell_module; + EShellView *shell_view; + EMFolderTreeModel *model; + EMFolderView *folder_view; + GtkWidget *folder_tree; + GtkWidget *dialog; + GPtrArray *selected; + const gchar *uri; + + shell_view = E_SHELL_VIEW (mail_shell_view); + shell_module = e_shell_view_get_shell_module (shell_view); + model = e_mail_shell_module_get_folder_tree_model (shell_module); + + mail_shell_content = mail_shell_view->priv->mail_shell_content; + folder_view = e_mail_shell_content_get_folder_view (mail_shell_content); + selected = message_list_get_selected (folder_view->list); + + folder_tree = em_folder_tree_new_with_model (model); + + em_folder_tree_set_excluded ( + EM_FOLDER_TREE (folder_tree), + EMFT_EXCLUDE_NOSELECT | EMFT_EXCLUDE_VIRTUAL | + EMFT_EXCLUDE_VTRASH); + + dialog = em_folder_selector_new ( + EM_FOLDER_TREE (folder_tree), + EM_FOLDER_SELECTOR_CAN_CREATE, + _("Select Folder"), NULL, _("_Move")); + + if (default_xfer_messages_uri != NULL) + em_folder_selector_set_selected ( + EM_FOLDER_SELECTOR (dialog), + default_xfer_messages_uri); + + if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK) + goto exit; + + uri = em_folder_selector_get_selected_uri ( + EM_FOLDER_SELECTOR (dialog)); + + g_free (default_xfer_messages_uri); + default_xfer_messages_uri = g_strdup (uri); + + if (uri != NULL) { + mail_transfer_messages ( + folder_view->folder, selected, + TRUE, uri, 0, NULL, NULL); + selected = NULL; + } + +exit: + if (selected != NULL) + em_utils_uids_free (selected); + + gtk_widget_destroy (dialog); } static void diff --git a/mail/e-mail-shell-view-private.h b/mail/e-mail-shell-view-private.h index 921c3027b9..086c3edd81 100644 --- a/mail/e-mail-shell-view-private.h +++ b/mail/e-mail-shell-view-private.h @@ -30,7 +30,9 @@ #include "e-util/gconf-bridge.h" #include "widgets/menus/gal-view-instance.h" +#include "em-folder-selector.h" #include "em-utils.h" +#include "mail-ops.h" #include "e-mail-shell-content.h" #include "e-mail-shell-module.h" diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index 6dfe8735d6..e737021eab 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -811,41 +811,41 @@ emfv_popup_flag_clear(EPopup *ep, EPopupItem *pitem, void *data) em_format_redraw (emfv->preview); } -static void -emfv_popup_mark_read(EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN); -} - -static void -emfv_popup_mark_unread(EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_DELETED, 0); - - if (emfv->list->seen_id) { - g_source_remove(emfv->list->seen_id); - emfv->list->seen_id = 0; - } -} - -static void -emfv_popup_mark_important(EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_FLAGGED|CAMEL_MESSAGE_DELETED, CAMEL_MESSAGE_FLAGGED); -} - -static void -emfv_popup_mark_unimportant(EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_FLAGGED, 0); -} +//static void +//emfv_popup_mark_read(EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_SEEN, CAMEL_MESSAGE_SEEN); +//} + +//static void +//emfv_popup_mark_unread(EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_DELETED, 0); +// +// if (emfv->list->seen_id) { +// g_source_remove(emfv->list->seen_id); +// emfv->list->seen_id = 0; +// } +//} + +//static void +//emfv_popup_mark_important(EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_FLAGGED|CAMEL_MESSAGE_DELETED, CAMEL_MESSAGE_FLAGGED); +//} + +//static void +//emfv_popup_mark_unimportant(EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_FLAGGED, 0); +//} -static void -emfv_select_next_message (EMFolderView *emfv, int count, gboolean always_can_previous) +void +em_folder_view_select_next_message (EMFolderView *emfv, int count, gboolean always_can_previous) { if (emfv && count == 1) { if (!message_list_select (emfv->list, MESSAGE_LIST_SELECT_NEXT, 0, 0) && (emfv->hide_deleted || always_can_previous)) @@ -853,31 +853,31 @@ emfv_select_next_message (EMFolderView *emfv, int count, gboolean always_can_pre } } -static void -emfv_popup_mark_junk (EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - int count; - - count = em_folder_view_mark_selected(emfv, - CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_JUNK|CAMEL_MESSAGE_NOTJUNK|CAMEL_MESSAGE_JUNK_LEARN, - CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_JUNK|CAMEL_MESSAGE_JUNK_LEARN); - - emfv_select_next_message (emfv, count, TRUE); -} - -static void -emfv_popup_mark_nojunk (EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - int count; - - count = em_folder_view_mark_selected(emfv, - CAMEL_MESSAGE_JUNK|CAMEL_MESSAGE_NOTJUNK|CAMEL_MESSAGE_JUNK_LEARN, - CAMEL_MESSAGE_NOTJUNK|CAMEL_MESSAGE_JUNK_LEARN); - - emfv_select_next_message (emfv, count, TRUE); -} +//static void +//emfv_popup_mark_junk (EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// int count; +// +// count = em_folder_view_mark_selected(emfv, +// CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_JUNK|CAMEL_MESSAGE_NOTJUNK|CAMEL_MESSAGE_JUNK_LEARN, +// CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_JUNK|CAMEL_MESSAGE_JUNK_LEARN); +// +// em_folder_view_select_next_message (emfv, count, TRUE); +//} + +//static void +//emfv_popup_mark_nojunk (EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// int count; +// +// count = em_folder_view_mark_selected(emfv, +// CAMEL_MESSAGE_JUNK|CAMEL_MESSAGE_NOTJUNK|CAMEL_MESSAGE_JUNK_LEARN, +// CAMEL_MESSAGE_NOTJUNK|CAMEL_MESSAGE_JUNK_LEARN); +// +// em_folder_view_select_next_message (emfv, count, TRUE); +//} #define DelInVFolderCheckName "DelInVFolderCheck" #define DelInVFolderKey "/apps/evolution/mail/prompts/delete_in_vfolder" @@ -942,7 +942,7 @@ emfv_delete_msg_response (GtkWidget *dialog, int response, gpointer data) message_list_free_uids(emfv->list, uids); camel_folder_thaw(emfv->folder); - emfv_select_next_message (emfv, count, FALSE); + em_folder_view_select_next_message (emfv, count, FALSE); } if (dialog) @@ -985,59 +985,59 @@ emfv_popup_undelete(EPopup *ep, EPopupItem *pitem, void *data) em_folder_view_mark_selected(emfv, CAMEL_MESSAGE_DELETED, 0); } -struct _move_data { - EMFolderView *emfv; - GPtrArray *uids; - int delete; -}; - -static char *default_xfer_messages_uri = NULL; - -static void -emfv_popup_move_cb(const char *uri, void *data) -{ - struct _move_data *d = data; - - if (uri) { - g_free (default_xfer_messages_uri); - default_xfer_messages_uri = g_strdup (uri); - mail_transfer_messages(d->emfv->folder, d->uids, d->delete, uri, 0, NULL, NULL); - } else - em_utils_uids_free(d->uids); - - g_object_unref(d->emfv); - g_free(d); -} - -static void -emfv_popup_move(EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - struct _move_data *d; - - d = g_malloc(sizeof(*d)); - d->emfv = emfv; - g_object_ref(emfv); - d->uids = message_list_get_selected(emfv->list); - d->delete = TRUE; - - em_select_folder ((GtkWindow *) emfv, _("Select folder"), _("_Move"), default_xfer_messages_uri, NULL, emfv_popup_move_cb, d); -} - -static void -emfv_popup_copy(EPopup *ep, EPopupItem *pitem, void *data) -{ - EMFolderView *emfv = data; - struct _move_data *d; - - d = g_malloc(sizeof(*d)); - d->emfv = emfv; - g_object_ref(emfv); - d->uids = message_list_get_selected(emfv->list); - d->delete = FALSE; - - em_select_folder ((GtkWindow *) emfv, _("Select folder"), _("C_opy"), default_xfer_messages_uri, NULL, emfv_popup_move_cb, d); -} +//struct _move_data { +// EMFolderView *emfv; +// GPtrArray *uids; +// int delete; +//}; + +//static char *default_xfer_messages_uri = NULL; + +//static void +//emfv_popup_move_cb(const char *uri, void *data) +//{ +// struct _move_data *d = data; +// +// if (uri) { +// g_free (default_xfer_messages_uri); +// default_xfer_messages_uri = g_strdup (uri); +// mail_transfer_messages(d->emfv->folder, d->uids, d->delete, uri, 0, NULL, NULL); +// } else +// em_utils_uids_free(d->uids); +// +// g_object_unref(d->emfv); +// g_free(d); +//} + +//static void +//emfv_popup_move(EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// struct _move_data *d; +// +// d = g_malloc(sizeof(*d)); +// d->emfv = emfv; +// g_object_ref(emfv); +// d->uids = message_list_get_selected(emfv->list); +// d->delete = TRUE; +// +// em_select_folder ((GtkWindow *) emfv, _("Select folder"), _("_Move"), default_xfer_messages_uri, NULL, emfv_popup_move_cb, d); +//} + +//static void +//emfv_popup_copy(EPopup *ep, EPopupItem *pitem, void *data) +//{ +// EMFolderView *emfv = data; +// struct _move_data *d; +// +// d = g_malloc(sizeof(*d)); +// d->emfv = emfv; +// g_object_ref(emfv); +// d->uids = message_list_get_selected(emfv->list); +// d->delete = FALSE; +// +// em_select_folder ((GtkWindow *) emfv, _("Select folder"), _("C_opy"), default_xfer_messages_uri, NULL, emfv_popup_move_cb, d); +//} static void emfv_set_label (EMFolderView *emfv, const char *label) @@ -1177,16 +1177,16 @@ static EPopupItem emfv_popup_items[] = { { E_POPUP_BAR, "40.emfv", NULL, NULL, NULL, NULL }, { E_POPUP_ITEM, "40.emfv.00", N_("_Delete"), emfv_popup_delete, NULL, "edit-delete", EM_POPUP_SELECT_DELETE|EM_FOLDER_VIEW_SELECT_LISTONLY }, { E_POPUP_ITEM, "40.emfv.01", N_("U_ndelete"), emfv_popup_undelete, NULL, NULL, EM_POPUP_SELECT_UNDELETE|EM_FOLDER_VIEW_SELECT_LISTONLY }, - { E_POPUP_ITEM, "40.emfv.02", N_("_Move to Folder..."), emfv_popup_move, NULL, "mail-move", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY }, - { E_POPUP_ITEM, "40.emfv.03", N_("_Copy to Folder..."), emfv_popup_copy, NULL, "mail-copy", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY }, +// { E_POPUP_ITEM, "40.emfv.02", N_("_Move to Folder..."), emfv_popup_move, NULL, "mail-move", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY }, +// { E_POPUP_ITEM, "40.emfv.03", N_("_Copy to Folder..."), emfv_popup_copy, NULL, "mail-copy", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY }, { E_POPUP_BAR, "50.emfv", NULL, NULL, NULL, NULL }, - { E_POPUP_ITEM, "50.emfv.00", N_("Mar_k as Read"), emfv_popup_mark_read, NULL, "mail-mark-read", EM_POPUP_SELECT_MARK_READ|EM_FOLDER_VIEW_SELECT_LISTONLY }, - { E_POPUP_ITEM, "50.emfv.01", N_("Mark as _Unread"), emfv_popup_mark_unread, NULL, "mail-mark-unread", EM_POPUP_SELECT_MARK_UNREAD|EM_FOLDER_VIEW_SELECT_LISTONLY }, - { E_POPUP_ITEM, "50.emfv.02", N_("Mark as _Important"), emfv_popup_mark_important, NULL, "mail-mark-important", EM_POPUP_SELECT_MARK_IMPORTANT|EM_FOLDER_VIEW_SELECT_LISTONLY }, - { E_POPUP_ITEM, "50.emfv.03", N_("Mark as Un_important"), emfv_popup_mark_unimportant, NULL, NULL, EM_POPUP_SELECT_MARK_UNIMPORTANT|EM_FOLDER_VIEW_SELECT_LISTONLY }, - { E_POPUP_ITEM, "50.emfv.04", N_("Mark as _Junk"), emfv_popup_mark_junk, NULL, "mail-mark-junk", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY|EM_POPUP_SELECT_JUNK }, - { E_POPUP_ITEM, "50.emfv.05", N_("Mark as _Not Junk"), emfv_popup_mark_nojunk, NULL, "mail-mark-notjunk", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY|EM_POPUP_SELECT_NOT_JUNK }, +// { E_POPUP_ITEM, "50.emfv.00", N_("Mar_k as Read"), emfv_popup_mark_read, NULL, "mail-mark-read", EM_POPUP_SELECT_MARK_READ|EM_FOLDER_VIEW_SELECT_LISTONLY }, +// { E_POPUP_ITEM, "50.emfv.01", N_("Mark as _Unread"), emfv_popup_mark_unread, NULL, "mail-mark-unread", EM_POPUP_SELECT_MARK_UNREAD|EM_FOLDER_VIEW_SELECT_LISTONLY }, +// { E_POPUP_ITEM, "50.emfv.02", N_("Mark as _Important"), emfv_popup_mark_important, NULL, "mail-mark-important", EM_POPUP_SELECT_MARK_IMPORTANT|EM_FOLDER_VIEW_SELECT_LISTONLY }, +// { E_POPUP_ITEM, "50.emfv.03", N_("Mark as Un_important"), emfv_popup_mark_unimportant, NULL, NULL, EM_POPUP_SELECT_MARK_UNIMPORTANT|EM_FOLDER_VIEW_SELECT_LISTONLY }, +// { E_POPUP_ITEM, "50.emfv.04", N_("Mark as _Junk"), emfv_popup_mark_junk, NULL, "mail-mark-junk", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY|EM_POPUP_SELECT_JUNK }, +// { E_POPUP_ITEM, "50.emfv.05", N_("Mark as _Not Junk"), emfv_popup_mark_nojunk, NULL, "mail-mark-notjunk", EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY|EM_POPUP_SELECT_NOT_JUNK }, { E_POPUP_ITEM, "50.emfv.06", N_("Mark for Follo_w Up..."), emfv_popup_flag_followup, NULL, "stock_mail-flag-for-followup", EM_POPUP_SELECT_FLAG_FOLLOWUP|EM_FOLDER_VIEW_SELECT_LISTONLY }, { E_POPUP_SUBMENU, "60.label.00", N_("_Label"), NULL, NULL, NULL, EM_POPUP_SELECT_MANY|EM_FOLDER_VIEW_SELECT_LISTONLY }, @@ -1360,18 +1360,18 @@ from(BonoboUIComponent *uid, void *data, const char *path) \ EMFV_MAP_CALLBACK(emfv_add_sender_addressbook, emfv_popup_add_sender) EMFV_MAP_CALLBACK(emfv_message_apply_filters, emfv_popup_apply_filters) EMFV_MAP_CALLBACK(emfv_message_filter_junk, emfv_popup_filter_junk) -EMFV_MAP_CALLBACK(emfv_message_copy, emfv_popup_copy) -EMFV_MAP_CALLBACK(emfv_message_move, emfv_popup_move) +//EMFV_MAP_CALLBACK(emfv_message_copy, emfv_popup_copy) +//EMFV_MAP_CALLBACK(emfv_message_move, emfv_popup_move) EMFV_MAP_CALLBACK(emfv_message_forward, emfv_popup_forward) EMFV_MAP_CALLBACK(emfv_message_reply_all, emfv_popup_reply_all) EMFV_MAP_CALLBACK(emfv_message_reply_list, emfv_popup_reply_list) EMFV_MAP_CALLBACK(emfv_message_reply_sender, emfv_popup_reply_sender) -EMFV_MAP_CALLBACK(emfv_message_mark_read, emfv_popup_mark_read) -EMFV_MAP_CALLBACK(emfv_message_mark_unread, emfv_popup_mark_unread) -EMFV_MAP_CALLBACK(emfv_message_mark_important, emfv_popup_mark_important) -EMFV_MAP_CALLBACK(emfv_message_mark_unimportant, emfv_popup_mark_unimportant) -EMFV_MAP_CALLBACK(emfv_message_mark_junk, emfv_popup_mark_junk) -EMFV_MAP_CALLBACK(emfv_message_mark_nojunk, emfv_popup_mark_nojunk) +//EMFV_MAP_CALLBACK(emfv_message_mark_read, emfv_popup_mark_read) +//EMFV_MAP_CALLBACK(emfv_message_mark_unread, emfv_popup_mark_unread) +//EMFV_MAP_CALLBACK(emfv_message_mark_important, emfv_popup_mark_important) +//EMFV_MAP_CALLBACK(emfv_message_mark_unimportant, emfv_popup_mark_unimportant) +//EMFV_MAP_CALLBACK(emfv_message_mark_junk, emfv_popup_mark_junk) +//EMFV_MAP_CALLBACK(emfv_message_mark_nojunk, emfv_popup_mark_nojunk) EMFV_MAP_CALLBACK(emfv_message_delete, emfv_popup_delete) EMFV_MAP_CALLBACK(emfv_message_undelete, emfv_popup_undelete) EMFV_MAP_CALLBACK(emfv_message_followup_flag, emfv_popup_flag_followup) @@ -1894,7 +1894,7 @@ static BonoboUIVerb emfv_message_verbs[] = { BONOBO_UI_UNSAFE_VERB ("MessageApplyFilters", emfv_message_apply_filters), BONOBO_UI_UNSAFE_VERB ("MessageFilterJunk", emfv_message_filter_junk), - BONOBO_UI_UNSAFE_VERB ("MessageCopy", emfv_message_copy), +// BONOBO_UI_UNSAFE_VERB ("MessageCopy", emfv_message_copy), BONOBO_UI_UNSAFE_VERB ("MessageDelete", emfv_message_delete), BONOBO_UI_UNSAFE_VERB ("MessageDeleteKey", emfv_message_delete), BONOBO_UI_UNSAFE_VERB ("MessageForward", emfv_message_forward), @@ -1902,16 +1902,16 @@ static BonoboUIVerb emfv_message_verbs[] = { BONOBO_UI_UNSAFE_VERB ("MessageForwardInline", emfv_message_forward_inline), BONOBO_UI_UNSAFE_VERB ("MessageForwardQuoted", emfv_message_forward_quoted), BONOBO_UI_UNSAFE_VERB ("MessageRedirect", emfv_message_redirect), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsRead", emfv_message_mark_read), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnRead", emfv_message_mark_unread), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsImportant", emfv_message_mark_important), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnimportant", emfv_message_mark_unimportant), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsJunk", emfv_message_mark_junk), - BONOBO_UI_UNSAFE_VERB ("MessageMarkAsNotJunk", emfv_message_mark_nojunk), +// BONOBO_UI_UNSAFE_VERB ("MessageMarkAsRead", emfv_message_mark_read), +// BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnRead", emfv_message_mark_unread), +// BONOBO_UI_UNSAFE_VERB ("MessageMarkAsImportant", emfv_message_mark_important), +// BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnimportant", emfv_message_mark_unimportant), +// BONOBO_UI_UNSAFE_VERB ("MessageMarkAsJunk", emfv_message_mark_junk), +// BONOBO_UI_UNSAFE_VERB ("MessageMarkAsNotJunk", emfv_message_mark_nojunk), BONOBO_UI_UNSAFE_VERB ("MessageFollowUpFlag", emfv_message_followup_flag), BONOBO_UI_UNSAFE_VERB ("MessageFollowUpComplete", emfv_message_followup_completed), BONOBO_UI_UNSAFE_VERB ("MessageFollowUpClear", emfv_message_followup_clear), - BONOBO_UI_UNSAFE_VERB ("MessageMove", emfv_message_move), +// BONOBO_UI_UNSAFE_VERB ("MessageMove", emfv_message_move), BONOBO_UI_UNSAFE_VERB ("MessageOpen", emfv_message_open), BONOBO_UI_UNSAFE_VERB ("MessagePostReply", emfv_message_post_reply), BONOBO_UI_UNSAFE_VERB ("MessageReplyAll", emfv_message_reply_all), diff --git a/mail/em-folder-view.h b/mail/em-folder-view.h index 71fe1b97fe..a42d34ded5 100644 --- a/mail/em-folder-view.h +++ b/mail/em-folder-view.h @@ -140,6 +140,8 @@ GtkWidget *em_folder_view_new(void); #define em_folder_view_set_folder_uri(emfv, uri) EM_FOLDER_VIEW_GET_CLASS (emfv)->set_folder_uri((emfv), (uri)) #define em_folder_view_set_message(emfv, uid, nomarkseen) EM_FOLDER_VIEW_GET_CLASS (emfv)->set_message((emfv), (uid), (nomarkseen)) +void em_folder_view_select_next_message(EMFolderView *emfv, int count, gboolean always_can_previous); + EMPopupTargetSelect *em_folder_view_get_popup_target(EMFolderView *emfv, EMPopup *emp, int on_display); int em_folder_view_mark_selected(EMFolderView *emfv, guint32 mask, guint32 set); |