diff options
Diffstat (limited to 'e-util/e-source-selector.c')
-rw-r--r-- | e-util/e-source-selector.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/e-util/e-source-selector.c b/e-util/e-source-selector.c index 1d8da2930f..43c6d453bd 100644 --- a/e-util/e-source-selector.c +++ b/e-util/e-source-selector.c @@ -445,6 +445,12 @@ source_selector_source_added_cb (ESourceRegistry *registry, ESource *source, ESourceSelector *selector) { + const gchar *extension_name; + + extension_name = e_source_selector_get_extension_name (selector); + if (!extension_name || !e_source_has_extension (source, extension_name)) + return; + source_selector_build_model (selector); source_selector_expand_to_source (selector, source); @@ -455,6 +461,12 @@ source_selector_source_changed_cb (ESourceRegistry *registry, ESource *source, ESourceSelector *selector) { + const gchar *extension_name; + + extension_name = e_source_selector_get_extension_name (selector); + if (!extension_name || !e_source_has_extension (source, extension_name)) + return; + source_selector_cancel_write (selector, source); e_source_selector_update_row (selector, source); @@ -465,6 +477,12 @@ source_selector_source_removed_cb (ESourceRegistry *registry, ESource *source, ESourceSelector *selector) { + const gchar *extension_name; + + extension_name = e_source_selector_get_extension_name (selector); + if (!extension_name || !e_source_has_extension (source, extension_name)) + return; + source_selector_build_model (selector); } @@ -473,6 +491,12 @@ source_selector_source_enabled_cb (ESourceRegistry *registry, ESource *source, ESourceSelector *selector) { + const gchar *extension_name; + + extension_name = e_source_selector_get_extension_name (selector); + if (!extension_name || !e_source_has_extension (source, extension_name)) + return; + source_selector_build_model (selector); source_selector_expand_to_source (selector, source); @@ -483,6 +507,12 @@ source_selector_source_disabled_cb (ESourceRegistry *registry, ESource *source, ESourceSelector *selector) { + const gchar *extension_name; + + extension_name = e_source_selector_get_extension_name (selector); + if (!extension_name || !e_source_has_extension (source, extension_name)) + return; + source_selector_build_model (selector); } |