manager: Update event gathering API
This commit is contained in:
+6
-21
@@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 ();
|
||||
|
||||
Reference in New Issue
Block a user