aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/e-mail-shell-content.c13
-rw-r--r--mail/e-mail-shell-view-actions.c209
-rw-r--r--mail/e-mail-shell-view-private.h2
-rw-r--r--mail/em-folder-view.c274
-rw-r--r--mail/em-folder-view.h2
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);