aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-view.c
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@src.gnome.org>2007-05-16 01:58:09 +0800
committerSrinivasa Ragavan <sragavan@src.gnome.org>2007-05-16 01:58:09 +0800
commita4828845f0defcb856c4be2a1c24757b8765afd8 (patch)
tree9148118e1ac34ba05076a0a2adb95610296c24e9 /mail/em-folder-view.c
parent2a4152b6dd4dbb32bdc4ff3c41aa9ef3fb2fc602 (diff)
downloadgsoc2013-evolution-a4828845f0defcb856c4be2a1c24757b8765afd8.tar
gsoc2013-evolution-a4828845f0defcb856c4be2a1c24757b8765afd8.tar.gz
gsoc2013-evolution-a4828845f0defcb856c4be2a1c24757b8765afd8.tar.bz2
gsoc2013-evolution-a4828845f0defcb856c4be2a1c24757b8765afd8.tar.lz
gsoc2013-evolution-a4828845f0defcb856c4be2a1c24757b8765afd8.tar.xz
gsoc2013-evolution-a4828845f0defcb856c4be2a1c24757b8765afd8.tar.zst
gsoc2013-evolution-a4828845f0defcb856c4be2a1c24757b8765afd8.zip
Improved offline support options
svn path=/trunk/; revision=33548
Diffstat (limited to 'mail/em-folder-view.c')
-rw-r--r--mail/em-folder-view.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c
index 30a736d49b..0ebb079e49 100644
--- a/mail/em-folder-view.c
+++ b/mail/em-folder-view.c
@@ -56,6 +56,8 @@
#include <camel/camel-stream-mem.h>
#include <camel/camel-url.h>
#include <camel/camel-vee-folder.h>
+#include <camel/camel-disco-store.h>
+#include <camel/camel-offline-store.h>
#include <bonobo/bonobo-main.h>
#include <bonobo/bonobo-object.h>
@@ -1322,6 +1324,22 @@ emfv_empty_trash(BonoboUIComponent *uid, void *data, const char *path)
em_utils_empty_trash (gtk_widget_get_toplevel ((GtkWidget *) emfv));
}
+static void
+prepare_offline(void *key, void *value, void *data)
+{
+ CamelService *service = key;
+
+ if (CAMEL_IS_DISCO_STORE(service)
+ || CAMEL_IS_OFFLINE_STORE(service)) {
+ mail_store_prepare_offline((CamelStore *)service);
+ }
+}
+
+static void
+emfv_prepare_offline(BonoboUIComponent *uid, void *data, const char *path)
+{
+ mail_component_stores_foreach(mail_component_peek(), prepare_offline, NULL);
+}
static void
emfv_edit_cut(BonoboUIComponent *uid, void *data, const char *path)
@@ -1737,7 +1755,7 @@ EMFV_MAP_CALLBACK(emfv_tools_vfolder_mlist, emfv_popup_vfolder_mlist)
static BonoboUIVerb emfv_message_verbs[] = {
BONOBO_UI_UNSAFE_VERB ("EmptyTrash", emfv_empty_trash),
-
+ BONOBO_UI_UNSAFE_VERB ("PrepareForOffline", emfv_prepare_offline),
BONOBO_UI_UNSAFE_VERB ("EditCut", emfv_edit_cut),
BONOBO_UI_UNSAFE_VERB ("EditCopy", emfv_edit_copy),
BONOBO_UI_UNSAFE_VERB ("EditPaste", emfv_edit_paste),