diff options
author | Milan Crha <mcrha@redhat.com> | 2008-01-07 20:12:13 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2008-01-07 20:12:13 +0800 |
commit | 39be7e3d9cc8d42b63ec88aecb7756440d0b96ae (patch) | |
tree | 33486ea9292e8a64658e1c11daa201169087eed5 /mail/mail-vfolder.c | |
parent | 8f3a968fc9e8fc309eace95ff760378875ebf6fd (diff) | |
download | gsoc2013-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/mail-vfolder.c')
-rw-r--r-- | mail/mail-vfolder.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/mail/mail-vfolder.c b/mail/mail-vfolder.c index 6397ca772a..6a959a2280 100644 --- a/mail/mail-vfolder.c +++ b/mail/mail-vfolder.c @@ -948,6 +948,17 @@ vfolder_load_storage(void) g_free(storeuri); } +/** + * vfolder_loaded + * Test if we have vfolder already inited or not. + * @return Whether was vfolder inited or not (by call of @ref vfolder_load_storage). + **/ +gboolean +vfolder_loaded (void) +{ + return vfolder_hash != NULL; +} + void vfolder_revert(void) { @@ -1113,6 +1124,10 @@ vfolder_gui_add_rule(EMVFolderRule *rule) GtkWidget *w; GtkDialog *gd; + /* this should be done before we call this function */ + if (!vfolder_loaded ()) + vfolder_load_storage (); + w = filter_rule_get_widget((FilterRule *)rule, (RuleContext *)context); gd = (GtkDialog *)gtk_dialog_new_with_buttons(_("New Search Folder"), @@ -1142,6 +1157,10 @@ vfolder_gui_add_from_message(CamelMimeMessage *msg, int flags, const char *sourc g_return_if_fail (msg != NULL); + /* ensures vfolder is running */ + if (!vfolder_loaded ()) + vfolder_load_storage (); + rule = (EMVFolderRule*)em_vfolder_rule_from_message(context, msg, flags, source); vfolder_gui_add_rule(rule); } @@ -1153,6 +1172,10 @@ vfolder_gui_add_from_address(CamelInternetAddress *addr, int flags, const char * g_return_if_fail (addr != NULL); + /* ensures vfolder is running */ + if (!vfolder_loaded ()) + vfolder_load_storage (); + rule = (EMVFolderRule*)em_vfolder_rule_from_address(context, addr, flags, source); vfolder_gui_add_rule(rule); } |