manager: Update event gathering API

This commit is contained in:
Georges Basile Stavracas Neto
2020-04-01 21:06:51 -03:00
parent 72952e42cb
commit 9cb29b6dc5
3 changed files with 14 additions and 37 deletions
+6 -21
View File
@@ -1465,35 +1465,20 @@ gcal_manager_move_event_to_source (GcalManager *self,
*
* Returns: (nullable)(transfer full)(content-type GcalEvent):a #GList
*/
GList*
GPtrArray*
gcal_manager_get_events (GcalManager *self,
ICalTime *start_date,
ICalTime *end_date)
GDateTime *start_date,
GDateTime *end_date)
{
time_t range_start, range_end;
GTimeZone *zone;
ICalTimezone *tz;
GatherEventData data = {
.manager = self,
.events = NULL,
};
g_autoptr (GPtrArray) events_at_range = NULL;
GCAL_ENTRY;
g_return_val_if_fail (GCAL_IS_MANAGER (self), NULL);
zone = gcal_context_get_timezone (self->context);
tz = gcal_timezone_to_icaltimezone (zone);
range_start = i_cal_time_as_timet_with_zone (start_date, tz);
range_end = i_cal_time_as_timet_with_zone (end_date, tz);
events_at_range = gcal_timeline_get_events_at_range (self->timeline, start_date, end_date);
e_cal_data_model_foreach_component (self->e_data_model,
range_start,
range_end,
gather_events,
&data);
GCAL_RETURN (data.events);
GCAL_RETURN (g_steal_pointer (&events_at_range));
}
/**
+3 -3
View File
@@ -85,9 +85,9 @@ gchar* gcal_manager_add_source (GcalManager
void gcal_manager_save_source (GcalManager *self,
ESource *source);
GList* gcal_manager_get_events (GcalManager *self,
ICalTime *range_start,
ICalTime *range_end);
GPtrArray* gcal_manager_get_events (GcalManager *self,
GDateTime *range_start,
GDateTime *range_end);
/* GNOME Shell-related functions */
GcalEvent* gcal_manager_get_event_from_shell_search (GcalManager *self,
+5 -13
View File
@@ -295,12 +295,10 @@ reposition_popover (GcalMonthPopover *self,
static void
update_event_list (GcalMonthPopover *self)
{
g_autoptr (ICalTime) start = NULL;
g_autoptr (ICalTime) end = NULL;
g_autoptr (GDateTime) start_dt = NULL;
g_autoptr (GDateTime) end_dt = NULL;
g_autoptr (GList) events = NULL;
GList *l;
g_autoptr (GPtrArray) events = NULL;
guint i;
gtk_container_foreach (GTK_CONTAINER (self->listbox), (GtkCallback) gtk_widget_destroy, NULL);
@@ -317,15 +315,9 @@ update_event_list (GcalMonthPopover *self)
0, 0, 0);
end_dt = g_date_time_add_days (start_dt, 1);
start = gcal_date_time_to_icaltime (start_dt);
end = gcal_date_time_to_icaltime (end_dt);
events = gcal_manager_get_events (gcal_context_get_manager (self->context), start_dt, end_dt);
events = gcal_manager_get_events (gcal_context_get_manager (self->context), start, end);
g_clear_object (&start);
g_clear_object (&end);
for (l = events; l; l = l->next)
for (i = 0; events && i < events->len; i++)
{
g_autoptr (GDateTime) event_start = NULL;
g_autoptr (GDateTime) event_end = NULL;
@@ -333,7 +325,7 @@ update_event_list (GcalMonthPopover *self)
GtkWidget *event_widget;
GcalEvent *event;
event = l->data;
event = g_ptr_array_index (events, i);
if (gcal_event_get_all_day (event))
tz = g_time_zone_new_utc ();