diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2012-07-07 00:09:37 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2012-07-07 00:17:59 +0800 |
commit | 09e374bfc606916a840e9eb9809d33e6ac5359eb (patch) | |
tree | 0998038cae995bfc3f0337688155f644e3fb0b8a | |
parent | 64f9b68adbbb668956205a1c345d7664b68af4e8 (diff) | |
download | gsoc2013-evolution-09e374bfc606916a840e9eb9809d33e6ac5359eb.tar.gz gsoc2013-evolution-09e374bfc606916a840e9eb9809d33e6ac5359eb.tar.zst gsoc2013-evolution-09e374bfc606916a840e9eb9809d33e6ac5359eb.zip |
Remove mail_ui_session_source_changed_cb().
This function removed a CamelStore from EMFolderTreeModel and then added
it again in response to the corresponding ESource emitting a "changed"
signal (presumably from editing a mail account and saving changes).
In the past this was the only way for changes to the account URI string
to take effect without restarting Evolution. But we have CamelSettings
now and don't need this hack anymore. Time for it to die.
-rw-r--r-- | mail/e-mail-ui-session.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/mail/e-mail-ui-session.c b/mail/e-mail-ui-session.c index ce21c9688b..b9ecea1b5d 100644 --- a/mail/e-mail-ui-session.c +++ b/mail/e-mail-ui-session.c @@ -82,8 +82,6 @@ struct _EMailUISessionPrivate { ESourceRegistry *registry; EMailAccountStore *account_store; EMailLabelListStore *label_store; - - gulong source_changed_handler_id; }; enum { @@ -471,63 +469,6 @@ source_context_free (SourceContext *context) g_slice_free (SourceContext, context); } -static void -mail_ui_session_source_changed_cb (ESourceRegistry *registry, - ESource *source, - EMailSession *session) -{ - EMFolderTreeModel *folder_tree_model; - CamelService *service; - ESource *collection; - gboolean enabled; - const gchar *extension_name; - const gchar *uid; - - uid = e_source_get_uid (source); - - /* We're only interested in mail account data sources. */ - extension_name = E_SOURCE_EXTENSION_MAIL_ACCOUNT; - if (!e_source_has_extension (source, extension_name)) - return; - - /* There should be a CamelStore with the same UID. */ - service = camel_session_get_service (CAMEL_SESSION (session), uid); - - /* send-only accounts */ - if (!CAMEL_IS_STORE (service)) - return; - - /* Remove the store from the folder tree model and, if the - * source is still enabled, re-add it. Easier than trying - * to update the model with the store in place. - * - * em_folder_tree_model_add_store() already knows which types - * of stores to disregard, so we don't have to deal with that - * here. */ - - folder_tree_model = em_folder_tree_model_get_default (); - - em_folder_tree_model_remove_store ( - folder_tree_model, CAMEL_STORE (service)); - - /* If this ESource is part of a collection, we need to - * pick up the enabled state for the entire collection. - * Check the ESource and its ancestors for a collection - * extension and read from the containing source. */ - collection = e_source_registry_find_extension ( - registry, source, E_SOURCE_EXTENSION_COLLECTION); - if (collection != NULL) { - enabled = e_source_get_enabled (collection); - g_object_unref (collection); - } else { - enabled = e_source_get_enabled (source); - } - - if (enabled) - em_folder_tree_model_add_store ( - folder_tree_model, CAMEL_STORE (service)); -} - static gboolean mail_ui_session_add_service_cb (SourceContext *context) { @@ -573,9 +514,6 @@ mail_ui_session_dispose (GObject *object) priv = E_MAIL_UI_SESSION_GET_PRIVATE (object); if (priv->registry != NULL) { - g_signal_handler_disconnect ( - priv->registry, - priv->source_changed_handler_id); g_object_unref (priv->registry); priv->registry = NULL; } @@ -628,13 +566,6 @@ mail_ui_session_constructed (GObject *object) /* Chain up to parent's constructed() method. */ G_OBJECT_CLASS (e_mail_ui_session_parent_class)->constructed (object); - - /* Listen for registry changes. */ - - handler_id = g_signal_connect ( - registry, "source-changed", - G_CALLBACK (mail_ui_session_source_changed_cb), session); - priv->source_changed_handler_id = handler_id; } static CamelService * |