manager: Remove "loading" property
The stack is robust enough to handle dynamically loading the calendars.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user