[gnome-calendar] manager: Remove "loading" property



commit df182d1b88d89be420a9a4e0f3ad70d4c86d6c8e
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Sat May 4 10:59:38 2019 -0300

    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;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]