From df182d1b88d89be420a9a4e0f3ad70d4c86d6c8e Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Sat, 4 May 2019 10:59:38 -0300 Subject: [PATCH] manager: Remove "loading" property The stack is robust enough to handle dynamically loading the calendars. --- src/core/gcal-manager.c | 38 -------------------------------- src/core/gcal-manager.h | 2 -- src/gcal-calendar-popover.c | 14 +++++------- src/gcal-shell-search-provider.c | 24 +------------------- 4 files changed, 6 insertions(+), 72 deletions(-) diff --git a/src/core/gcal-manager.c b/src/core/gcal-manager.c index 956ff909..f986b20d 100644 --- a/src/core/gcal-manager.c +++ b/src/core/gcal-manager.c @@ -86,9 +86,6 @@ struct _GcalManager ViewStateData *search_view_data; GCancellable *async_ops; - - /* state flags */ - gint sources_at_launch; }; G_DEFINE_TYPE (GcalManager, gcal_manager, G_TYPE_OBJECT) @@ -97,7 +94,6 @@ enum { PROP_0, PROP_DEFAULT_CALENDAR, - PROP_LOADING, NUM_PROPS }; @@ -678,10 +674,6 @@ gcal_manager_get_property (GObject *object, g_value_take_object (value, e_source_registry_ref_default_calendar (self->source_registry)); break; - case PROP_LOADING: - g_value_set_boolean (value, gcal_manager_get_loading (self)); - break; - default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } @@ -711,17 +703,6 @@ gcal_manager_class_init (GcalManagerClass *klass) E_TYPE_SOURCE, G_PARAM_READWRITE); - /** - * GcalManager:loading: - * - * Whether the manager is loading or not. - */ - properties[PROP_LOADING] = g_param_spec_boolean ("loading", - "Loading", - "Whether it's still loading or not", - TRUE, - G_PARAM_READABLE); - g_object_class_install_properties (object_class, NUM_PROPS, properties); /* signals */ @@ -1411,24 +1392,6 @@ gcal_manager_get_events (GcalManager *self, GCAL_RETURN (data.events); } -/** - * gcal_manager_get_loading: - * @self: a #GcalManager - * - * Retrieves whether @self is still loading or not. Loading is - * complete when the Online Accounts client is retrieved, and all - * the calendars are loaded. - * - * Returns: %TRUE if manager is still loading; %FALSE otherwise - */ -gboolean -gcal_manager_get_loading (GcalManager *self) -{ - g_return_val_if_fail (GCAL_IS_MANAGER (self), FALSE); - - return self->sources_at_launch > 0; -} - /** * gcal_manager_get_event_from_shell_search: * @self: a #GcalManager @@ -1591,7 +1554,6 @@ gcal_manager_startup (GcalManager *self) e_cal_data_model_set_timezone (self->e_data_model, e_cal_util_get_system_timezone ()); sources = e_source_registry_list_enabled (self->source_registry, E_SOURCE_EXTENSION_CALENDAR); - self->sources_at_launch = g_list_length (sources); for (l = sources; l != NULL; l = l->next) load_source (self, l->data); diff --git a/src/core/gcal-manager.h b/src/core/gcal-manager.h index b272aa73..3556009e 100644 --- a/src/core/gcal-manager.h +++ b/src/core/gcal-manager.h @@ -91,8 +91,6 @@ GList* gcal_manager_get_events (GcalManager icaltimetype *range_start, icaltimetype *range_end); -gboolean gcal_manager_get_loading (GcalManager *self); - /* GNOME Shell-related functions */ GcalEvent* gcal_manager_get_event_from_shell_search (GcalManager *self, const gchar *uuid); diff --git a/src/gcal-calendar-popover.c b/src/gcal-calendar-popover.c index 2e2a1343..fcfc732a 100644 --- a/src/gcal-calendar-popover.c +++ b/src/gcal-calendar-popover.c @@ -237,22 +237,18 @@ gcal_calendar_popover_set_property (GObject *object, { case PROP_CONTEXT: { + g_autoptr (GList) calendars = NULL; GcalManager *manager; + GList *l; g_assert (self->context == NULL); self->context = g_value_dup_object (value); manager = gcal_context_get_manager (self->context); - if (!gcal_manager_get_loading (manager)) - { - g_autoptr (GList) calendars = NULL; - GList *l; + calendars = gcal_manager_get_calendars (manager); - calendars = gcal_manager_get_calendars (manager); - - for (l = calendars; l; l = l->next) - add_calendar (self, l->data); - } + for (l = calendars; l; l = l->next) + add_calendar (self, l->data); g_signal_connect (manager, "calendar-added", G_CALLBACK (on_manager_calendar_added_cb), object); g_signal_connect (manager, "calendar-removed", G_CALLBACK (on_manager_calendar_removed_cb), object); diff --git a/src/gcal-shell-search-provider.c b/src/gcal-shell-search-provider.c index 0d8c6deb..795a5602 100644 --- a/src/gcal-shell-search-provider.c +++ b/src/gcal-shell-search-provider.c @@ -41,7 +41,6 @@ struct _GcalShellSearchProvider GcalContext *context; PendingSearch *pending_search; - guint scheduled_search_id; GHashTable *events; }; @@ -87,9 +86,6 @@ execute_search (GcalShellSearchProvider *self) manager = gcal_context_get_manager (self->context); - if (gcal_manager_get_loading (manager)) - GCAL_RETURN (TRUE); - now = g_date_time_new_now (gcal_context_get_timezone (self->context)); start = g_date_time_add_weeks (now, -1); range_start = g_date_time_to_unix (start); @@ -117,8 +113,6 @@ execute_search (GcalShellSearchProvider *self) } gcal_manager_set_shell_search_query (manager, search_query); - - self->scheduled_search_id = 0; g_application_hold (g_application_get_default ()); GCAL_RETURN (FALSE); @@ -129,8 +123,6 @@ schedule_search (GcalShellSearchProvider *self, GDBusMethodInvocation *invocation, gchar **terms) { - GcalManager *manager; - GCAL_ENTRY; /* don't attempt searches for a single character */ @@ -145,30 +137,16 @@ schedule_search (GcalShellSearchProvider *self, g_object_unref (self->pending_search->invocation); g_strfreev (self->pending_search->terms); - if (self->scheduled_search_id == 0) - g_application_release (g_application_get_default ()); + g_application_release (g_application_get_default ()); } else { self->pending_search = g_new0 (PendingSearch, 1); } - if (self->scheduled_search_id != 0) - { - g_source_remove (self->scheduled_search_id); - self->scheduled_search_id = 0; - } - self->pending_search->invocation = g_object_ref (invocation); self->pending_search->terms = g_strdupv (terms); - manager = gcal_context_get_manager (self->context); - if (gcal_manager_get_loading (manager)) - { - self->scheduled_search_id = g_timeout_add_seconds (1, (GSourceFunc) execute_search, self); - GCAL_RETURN (); - } - execute_search (self); GCAL_EXIT;