aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-02-17 04:08:37 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-02-17 07:57:11 +0800
commit07ba01818c349ddee71cb8c4e3b45402f57f310e (patch)
tree87aca6998ee53ed7ac0913764926b2819c3cf08a /modules
parent70e28753ec762a22e0a60a3d5122b30381fd2bb9 (diff)
downloadgsoc2013-evolution-07ba01818c349ddee71cb8c4e3b45402f57f310e.tar
gsoc2013-evolution-07ba01818c349ddee71cb8c4e3b45402f57f310e.tar.gz
gsoc2013-evolution-07ba01818c349ddee71cb8c4e3b45402f57f310e.tar.bz2
gsoc2013-evolution-07ba01818c349ddee71cb8c4e3b45402f57f310e.tar.lz
gsoc2013-evolution-07ba01818c349ddee71cb8c4e3b45402f57f310e.tar.xz
gsoc2013-evolution-07ba01818c349ddee71cb8c4e3b45402f57f310e.tar.zst
gsoc2013-evolution-07ba01818c349ddee71cb8c4e3b45402f57f310e.zip
ETaskShellSidebar: Use EClientCache to determine refresh support.
In task_shell_sidebar_check_state(), determine whether the selected source supports refresh by way of e_client_cache_ref_cached_client() and e_client_check_refresh_supported().
Diffstat (limited to 'modules')
-rw-r--r--modules/calendar/e-task-shell-sidebar.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/modules/calendar/e-task-shell-sidebar.c b/modules/calendar/e-task-shell-sidebar.c
index 533231ac12..a7008c61e4 100644
--- a/modules/calendar/e-task-shell-sidebar.c
+++ b/modules/calendar/e-task-shell-sidebar.c
@@ -601,7 +601,7 @@ task_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
if (source != NULL) {
EClient *client;
ESource *collection;
- const gchar *uid;
+ EClientCache *client_cache;
has_primary_source = TRUE;
is_writable = e_source_get_writable (source);
@@ -616,12 +616,17 @@ task_shell_sidebar_check_state (EShellSidebar *shell_sidebar)
g_object_unref (collection);
}
- uid = e_source_get_uid (source);
- client = g_hash_table_lookup (
- task_shell_sidebar->priv->client_table, uid);
- refresh_supported =
- client != NULL &&
- e_client_check_refresh_supported (client);
+ client_cache = task_shell_sidebar_ref_client_cache (
+ E_TASK_SHELL_SIDEBAR (shell_sidebar));
+ client = e_client_cache_ref_cached_client (
+ client_cache, source, E_SOURCE_EXTENSION_TASK_LIST);
+ g_object_unref (client_cache);
+
+ if (client != NULL) {
+ refresh_supported =
+ e_client_check_refresh_supported (client);
+ g_object_unref (client);
+ }
g_object_unref (source);
}