diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-06-10 22:25:00 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-06-11 00:46:22 +0800 |
commit | ab42fdc8c751622e3239d43e793f06e8b6703bf7 (patch) | |
tree | 65748cacdff56ab8c6840843dac4f73c89461ceb /e-util | |
parent | c80966db005f9fb5acb4f994ee467b56ea43d993 (diff) | |
download | gsoc2013-evolution-ab42fdc8c751622e3239d43e793f06e8b6703bf7.tar.gz gsoc2013-evolution-ab42fdc8c751622e3239d43e793f06e8b6703bf7.tar.zst gsoc2013-evolution-ab42fdc8c751622e3239d43e793f06e8b6703bf7.zip |
Add e_source_selector_update_all_rows().
Calls e_source_selector_update_row() for each ESource being shown
by the ESourceSelector, according to the "extension-name" property.
Diffstat (limited to 'e-util')
-rw-r--r-- | e-util/e-source-selector.c | 31 | ||||
-rw-r--r-- | e-util/e-source-selector.h | 2 |
2 files changed, 33 insertions, 0 deletions
diff --git a/e-util/e-source-selector.c b/e-util/e-source-selector.c index 07a375448e..e84566d887 100644 --- a/e-util/e-source-selector.c +++ b/e-util/e-source-selector.c @@ -2132,3 +2132,34 @@ e_source_selector_update_row (ESourceSelector *selector, } } +/** + * e_source_selector_update_all_rows: + * @selector: an #ESourceSelector + * + * Calls e_source_selector_update_row() for each #ESource being shown by + * @selector, according to the #ESourceSelector:extension_name property. + * + * Since: 3.10 + **/ +void +e_source_selector_update_all_rows (ESourceSelector *selector) +{ + ESourceRegistry *registry; + GList *list, *link; + const gchar *extension_name; + + g_return_if_fail (E_IS_SOURCE_SELECTOR (selector)); + + registry = e_source_selector_get_registry (selector); + extension_name = e_source_selector_get_extension_name (selector); + + list = e_source_registry_list_sources (registry, extension_name); + + for (link = list; link != NULL; link = g_list_next (link)) { + ESource *source = E_SOURCE (link->data); + e_source_selector_update_row (selector, source); + } + + g_list_free_full (list, (GDestroyNotify) g_object_unref); +} + diff --git a/e-util/e-source-selector.h b/e-util/e-source-selector.h index b49d65a782..949c94bf33 100644 --- a/e-util/e-source-selector.h +++ b/e-util/e-source-selector.h @@ -140,6 +140,8 @@ void e_source_selector_queue_write (ESourceSelector *selector, ESource *source); void e_source_selector_update_row (ESourceSelector *selector, ESource *source); +void e_source_selector_update_all_rows + (ESourceSelector *selector); G_END_DECLS |