aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-folder-view.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2008-01-07 20:12:13 +0800
committerMilan Crha <mcrha@src.gnome.org>2008-01-07 20:12:13 +0800
commit39be7e3d9cc8d42b63ec88aecb7756440d0b96ae (patch)
tree33486ea9292e8a64658e1c11daa201169087eed5 /mail/em-folder-view.c
parent8f3a968fc9e8fc309eace95ff760378875ebf6fd (diff)
downloadgsoc2013-evolution-39be7e3d9cc8d42b63ec88aecb7756440d0b96ae.tar
gsoc2013-evolution-39be7e3d9cc8d42b63ec88aecb7756440d0b96ae.tar.gz
gsoc2013-evolution-39be7e3d9cc8d42b63ec88aecb7756440d0b96ae.tar.bz2
gsoc2013-evolution-39be7e3d9cc8d42b63ec88aecb7756440d0b96ae.tar.lz
gsoc2013-evolution-39be7e3d9cc8d42b63ec88aecb7756440d0b96ae.tar.xz
gsoc2013-evolution-39be7e3d9cc8d42b63ec88aecb7756440d0b96ae.tar.zst
gsoc2013-evolution-39be7e3d9cc8d42b63ec88aecb7756440d0b96ae.zip
** Fix for bug #300336
2008-01-07 Milan Crha <mcrha@redhat.com> ** Fix for bug #300336 * plugins/groupwise-features/share-folder-common.c: (users_dialog_response): Ensure vfolder is running. * mail/mail-vfolder.h: (vfolder_loaded): * mail/mail-vfolder.c: (vfolder_loaded): New helper function. * mail/em-folder-utils.c: (emfu_popup_new_folder_response): * mail/mail-vfolder.c: (vfolder_gui_add_rule), (vfolder_gui_add_from_message), (vfolder_gui_add_from_address): * mail/em-folder-browser.c: (emfb_search_menu_activated): * mail/em-folder-view.c: (emp_uri_popup_vfolder_sender), (emp_uri_popup_vfolder_recipient), (vfolder_type_current): Ensure vfolder is running. * mail/mail-component.c: (mc_startup): Do not start vfolder when disabled by option '/apps/evolution/mail/display/enable_vfolders'. * mail/evolution-mail.schemas.in: Added schema for new option. * mail/mail-config.glade: * mail/em-mailer-prefs.h: * mail/em-mailer-prefs.c: Added checkbox for "Enable Search Folders" option. Note: if your schema failed to install, then the search folders will be hidden. Enable by hand then. svn path=/trunk/; revision=34775
Diffstat (limited to 'mail/em-folder-view.c')
-rw-r--r--mail/em-folder-view.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c
index 1758735ab3..914f335063 100644
--- a/mail/em-folder-view.c
+++ b/mail/em-folder-view.c
@@ -1940,6 +1940,10 @@ emp_uri_popup_vfolder_sender(EPopup *ep, EPopupItem *pitem, void *data)
}
if (url->path && url->path[0]) {
+ /* ensures vfolder is running */
+ if (!vfolder_loaded ())
+ vfolder_load_storage ();
+
addr = camel_internet_address_new ();
camel_address_decode (CAMEL_ADDRESS (addr), url->path);
vfolder_gui_add_from_address (addr, AUTO_FROM, emfv->folder_uri);
@@ -1966,6 +1970,10 @@ emp_uri_popup_vfolder_recipient(EPopup *ep, EPopupItem *pitem, void *data)
}
if (url->path && url->path[0]) {
+ /* ensures vfolder is running */
+ if (!vfolder_loaded ())
+ vfolder_load_storage ();
+
addr = camel_internet_address_new ();
camel_address_decode (CAMEL_ADDRESS (addr), url->path);
vfolder_gui_add_from_address (addr, AUTO_TO, emfv->folder_uri);
@@ -1994,8 +2002,13 @@ vfolder_type_current (EMFolderView *emfv, int type)
uids = message_list_get_selected (emfv->list);
- if (uids->len == 1)
+ if (uids->len == 1) {
+ /* ensures vfolder is running */
+ if (!vfolder_loaded ())
+ vfolder_load_storage ();
+
vfolder_type_uid (emfv->folder, (char *) uids->pdata[0], emfv->folder_uri, type);
+ }
em_utils_uids_free (uids);
}