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
|
* Returns: (nullable)(transfer full)(content-type GcalEvent):a #GList
|
||||||
*/
|
*/
|
||||||
GList*
|
GPtrArray*
|
||||||
gcal_manager_get_events (GcalManager *self,
|
gcal_manager_get_events (GcalManager *self,
|
||||||
ICalTime *start_date,
|
GDateTime *start_date,
|
||||||
ICalTime *end_date)
|
GDateTime *end_date)
|
||||||
{
|
{
|
||||||
time_t range_start, range_end;
|
g_autoptr (GPtrArray) events_at_range = NULL;
|
||||||
GTimeZone *zone;
|
|
||||||
ICalTimezone *tz;
|
|
||||||
GatherEventData data = {
|
|
||||||
.manager = self,
|
|
||||||
.events = NULL,
|
|
||||||
};
|
|
||||||
|
|
||||||
GCAL_ENTRY;
|
GCAL_ENTRY;
|
||||||
|
|
||||||
g_return_val_if_fail (GCAL_IS_MANAGER (self), NULL);
|
g_return_val_if_fail (GCAL_IS_MANAGER (self), NULL);
|
||||||
|
|
||||||
zone = gcal_context_get_timezone (self->context);
|
events_at_range = gcal_timeline_get_events_at_range (self->timeline, start_date, end_date);
|
||||||
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);
|
|
||||||
|
|
||||||
e_cal_data_model_foreach_component (self->e_data_model,
|
GCAL_RETURN (g_steal_pointer (&events_at_range));
|
||||||
range_start,
|
|
||||||
range_end,
|
|
||||||
gather_events,
|
|
||||||
&data);
|
|
||||||
|
|
||||||
GCAL_RETURN (data.events);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -85,9 +85,9 @@ gchar* gcal_manager_add_source (GcalManager
|
|||||||
void gcal_manager_save_source (GcalManager *self,
|
void gcal_manager_save_source (GcalManager *self,
|
||||||
ESource *source);
|
ESource *source);
|
||||||
|
|
||||||
GList* gcal_manager_get_events (GcalManager *self,
|
GPtrArray* gcal_manager_get_events (GcalManager *self,
|
||||||
ICalTime *range_start,
|
GDateTime *range_start,
|
||||||
ICalTime *range_end);
|
GDateTime *range_end);
|
||||||
|
|
||||||
/* GNOME Shell-related functions */
|
/* GNOME Shell-related functions */
|
||||||
GcalEvent* gcal_manager_get_event_from_shell_search (GcalManager *self,
|
GcalEvent* gcal_manager_get_event_from_shell_search (GcalManager *self,
|
||||||
|
|||||||
@@ -295,12 +295,10 @@ reposition_popover (GcalMonthPopover *self,
|
|||||||
static void
|
static void
|
||||||
update_event_list (GcalMonthPopover *self)
|
update_event_list (GcalMonthPopover *self)
|
||||||
{
|
{
|
||||||
g_autoptr (ICalTime) start = NULL;
|
|
||||||
g_autoptr (ICalTime) end = NULL;
|
|
||||||
g_autoptr (GDateTime) start_dt = NULL;
|
g_autoptr (GDateTime) start_dt = NULL;
|
||||||
g_autoptr (GDateTime) end_dt = NULL;
|
g_autoptr (GDateTime) end_dt = NULL;
|
||||||
g_autoptr (GList) events = NULL;
|
g_autoptr (GPtrArray) events = NULL;
|
||||||
GList *l;
|
guint i;
|
||||||
|
|
||||||
gtk_container_foreach (GTK_CONTAINER (self->listbox), (GtkCallback) gtk_widget_destroy, NULL);
|
gtk_container_foreach (GTK_CONTAINER (self->listbox), (GtkCallback) gtk_widget_destroy, NULL);
|
||||||
|
|
||||||
@@ -317,15 +315,9 @@ update_event_list (GcalMonthPopover *self)
|
|||||||
0, 0, 0);
|
0, 0, 0);
|
||||||
end_dt = g_date_time_add_days (start_dt, 1);
|
end_dt = g_date_time_add_days (start_dt, 1);
|
||||||
|
|
||||||
start = gcal_date_time_to_icaltime (start_dt);
|
events = gcal_manager_get_events (gcal_context_get_manager (self->context), start_dt, end_dt);
|
||||||
end = gcal_date_time_to_icaltime (end_dt);
|
|
||||||
|
|
||||||
events = gcal_manager_get_events (gcal_context_get_manager (self->context), start, end);
|
for (i = 0; events && i < events->len; i++)
|
||||||
|
|
||||||
g_clear_object (&start);
|
|
||||||
g_clear_object (&end);
|
|
||||||
|
|
||||||
for (l = events; l; l = l->next)
|
|
||||||
{
|
{
|
||||||
g_autoptr (GDateTime) event_start = NULL;
|
g_autoptr (GDateTime) event_start = NULL;
|
||||||
g_autoptr (GDateTime) event_end = NULL;
|
g_autoptr (GDateTime) event_end = NULL;
|
||||||
@@ -333,7 +325,7 @@ update_event_list (GcalMonthPopover *self)
|
|||||||
GtkWidget *event_widget;
|
GtkWidget *event_widget;
|
||||||
GcalEvent *event;
|
GcalEvent *event;
|
||||||
|
|
||||||
event = l->data;
|
event = g_ptr_array_index (events, i);
|
||||||
|
|
||||||
if (gcal_event_get_all_day (event))
|
if (gcal_event_get_all_day (event))
|
||||||
tz = g_time_zone_new_utc ();
|
tz = g_time_zone_new_utc ();
|
||||||
|
|||||||
Reference in New Issue
Block a user