aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-reader.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2011-05-24 10:42:49 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-06-30 00:42:19 +0800
commit8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f (patch)
tree0d8a1bb2e42f4be322274d9a3b87c45e26a59bb9 /mail/e-mail-reader.c
parentfcfe3ec2a1c638e1869aeb004bc0d957e92a0778 (diff)
downloadgsoc2013-evolution-8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f.tar
gsoc2013-evolution-8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f.tar.gz
gsoc2013-evolution-8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f.tar.bz2
gsoc2013-evolution-8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f.tar.lz
gsoc2013-evolution-8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f.tar.xz
gsoc2013-evolution-8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f.tar.zst
gsoc2013-evolution-8decdbc4cb82c5cda0df7f5f251832f3e8f06e4f.zip
Let EMFolderSelector create its own EMFolderTree.
Also, minimize the EMFolderSelector API by removing frivolous wrapper functions and unused functions.
Diffstat (limited to 'mail/e-mail-reader.c')
-rw-r--r--mail/e-mail-reader.c58
1 files changed, 28 insertions, 30 deletions
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 18d7621a9d..91e303ec46 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -281,7 +281,8 @@ action_mail_copy_cb (GtkAction *action,
CamelFolder *folder;
EMailBackend *backend;
EMailSession *session;
- GtkWidget *folder_tree;
+ EMFolderSelector *selector;
+ EMFolderTree *folder_tree;
GtkWidget *dialog;
GtkWindow *window;
GPtrArray *uids;
@@ -294,29 +295,27 @@ action_mail_copy_cb (GtkAction *action,
window = e_mail_reader_get_window (reader);
uids = e_mail_reader_get_selected_uids (reader);
- folder_tree = em_folder_tree_new (backend);
- emu_restore_folder_tree_state (EM_FOLDER_TREE (folder_tree));
+ dialog = em_folder_selector_new (
+ window, backend, EM_FOLDER_SELECTOR_CAN_CREATE,
+ _("Copy to Folder"), NULL, _("C_opy"));
+
+ selector = EM_FOLDER_SELECTOR (dialog);
+ folder_tree = em_folder_selector_get_folder_tree (selector);
em_folder_tree_set_excluded (
- EM_FOLDER_TREE (folder_tree),
- EMFT_EXCLUDE_NOSELECT | EMFT_EXCLUDE_VIRTUAL |
+ folder_tree,
+ EMFT_EXCLUDE_NOSELECT |
+ EMFT_EXCLUDE_VIRTUAL |
EMFT_EXCLUDE_VTRASH);
- dialog = em_folder_selector_new (
- window, EM_FOLDER_TREE (folder_tree),
- EM_FOLDER_SELECTOR_CAN_CREATE,
- _("Copy to Folder"), NULL, _("C_opy"));
-
if (default_xfer_messages_uri != NULL)
- em_folder_selector_set_selected (
- EM_FOLDER_SELECTOR (dialog),
- default_xfer_messages_uri);
+ em_folder_tree_set_selected (
+ folder_tree, default_xfer_messages_uri, FALSE);
if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK)
goto exit;
- uri = em_folder_selector_get_selected_uri (
- EM_FOLDER_SELECTOR (dialog));
+ uri = em_folder_selector_get_selected_uri (selector);
g_free (default_xfer_messages_uri);
default_xfer_messages_uri = g_strdup (uri);
@@ -784,7 +783,8 @@ action_mail_move_cb (GtkAction *action,
CamelFolder *folder;
EMailBackend *backend;
EMailSession *session;
- GtkWidget *folder_tree;
+ EMFolderSelector *selector;
+ EMFolderTree *folder_tree;
GtkWidget *dialog;
GtkWindow *window;
GPtrArray *uids;
@@ -797,29 +797,27 @@ action_mail_move_cb (GtkAction *action,
session = e_mail_backend_get_session (backend);
- folder_tree = em_folder_tree_new (backend);
- emu_restore_folder_tree_state (EM_FOLDER_TREE (folder_tree));
+ dialog = em_folder_selector_new (
+ window, backend, EM_FOLDER_SELECTOR_CAN_CREATE,
+ _("Move to Folder"), NULL, _("_Move"));
+
+ selector = EM_FOLDER_SELECTOR (dialog);
+ folder_tree = em_folder_selector_get_folder_tree (selector);
em_folder_tree_set_excluded (
- EM_FOLDER_TREE (folder_tree),
- EMFT_EXCLUDE_NOSELECT | EMFT_EXCLUDE_VIRTUAL |
+ folder_tree,
+ EMFT_EXCLUDE_NOSELECT |
+ EMFT_EXCLUDE_VIRTUAL |
EMFT_EXCLUDE_VTRASH);
- dialog = em_folder_selector_new (
- window, EM_FOLDER_TREE (folder_tree),
- EM_FOLDER_SELECTOR_CAN_CREATE,
- _("Move to Folder"), NULL, _("_Move"));
-
if (default_xfer_messages_uri != NULL)
- em_folder_selector_set_selected (
- EM_FOLDER_SELECTOR (dialog),
- default_xfer_messages_uri);
+ em_folder_tree_set_selected (
+ folder_tree, default_xfer_messages_uri, FALSE);
if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_OK)
goto exit;
- uri = em_folder_selector_get_selected_uri (
- EM_FOLDER_SELECTOR (dialog));
+ uri = em_folder_selector_get_selected_uri (selector);
g_free (default_xfer_messages_uri);
default_xfer_messages_uri = g_strdup (uri);