event: Receive and operate on GcalCalendar

Instead of receiving an ESource, receive a GcalCalendar
and operate on it. Many places needed to be adjusted for
that.

Tests need to be rethinked.
This commit is contained in:
Georges Basile Stavracas Neto
2019-05-04 12:05:39 -03:00
parent 810ef7956b
commit 1118c74881
16 changed files with 168 additions and 107 deletions
+3 -1
View File
@@ -205,6 +205,7 @@ gcal_month_cell_drag_drop (GtkWidget *widget,
{
GcalRecurrenceModType mod;
GcalMonthCell *self;
GcalCalendar *calendar;
GtkWidget *event_widget;
GDateTime *start_dt, *end_dt;
GcalEvent *event;
@@ -225,7 +226,8 @@ gcal_month_cell_drag_drop (GtkWidget *widget,
return FALSE;
event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (event_widget));
source = gcal_event_get_source (event);
calendar = gcal_event_get_calendar (event);
source = gcal_calendar_get_source (calendar);
if (gcal_event_has_recurrence (event) &&
!ask_recurrence_modification_type (widget, &mod, source))
+8 -2
View File
@@ -1242,6 +1242,7 @@ gcal_month_view_component_added (ECalDataModelSubscriber *subscriber,
{
g_autoptr (GcalEvent) event = NULL;
GcalMonthView *self;
GcalCalendar *calendar;
GtkWidget *event_widget;
GError *error;
@@ -1249,7 +1250,9 @@ gcal_month_view_component_added (ECalDataModelSubscriber *subscriber,
error = NULL;
self = GCAL_MONTH_VIEW (subscriber);
event = gcal_event_new (e_client_get_source (E_CLIENT (client)), comp, &error);
calendar = gcal_manager_get_calendar_from_source (gcal_context_get_manager (self->context),
e_client_get_source (E_CLIENT (client)));
event = gcal_event_new (calendar, comp, &error);
if (error)
{
@@ -1276,6 +1279,7 @@ gcal_month_view_component_modified (ECalDataModelSubscriber *subscriber,
{
g_autoptr (GcalEvent) event = NULL;
GcalMonthView *self;
GcalCalendar *calendar;
GtkWidget *new_widget;
GError *error;
GList *l;
@@ -1284,7 +1288,9 @@ gcal_month_view_component_modified (ECalDataModelSubscriber *subscriber,
error = NULL;
self = GCAL_MONTH_VIEW (subscriber);
event = gcal_event_new (e_client_get_source (E_CLIENT (client)), comp, &error);
calendar = gcal_manager_get_calendar_from_source (gcal_context_get_manager (self->context),
e_client_get_source (E_CLIENT (client)));
event = gcal_event_new (calendar, comp, &error);
if (error)
{
+3 -1
View File
@@ -978,6 +978,7 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
g_autoptr (GDateTime) week_start;
g_autoptr (GDateTime) dnd_date;
g_autoptr (GDateTime) new_end;
GcalCalendar *calendar;
GtkWidget *event_widget;
GcalEvent *event;
ESource *source;
@@ -1010,7 +1011,8 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
}
event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (event_widget));
source = gcal_event_get_source (event);
calendar = gcal_event_get_calendar (event);
source = gcal_calendar_get_source (calendar);
if (gcal_event_has_recurrence (event) &&
!ask_recurrence_modification_type (widget, &mod, source))
+4 -1
View File
@@ -298,10 +298,13 @@ gcal_week_view_component_added (ECalDataModelSubscriber *subscriber,
{
GcalWeekView *self = GCAL_WEEK_VIEW (subscriber);
g_autoptr (GcalEvent) event = NULL;
GcalCalendar *calendar;
GCAL_ENTRY;
event = gcal_event_new (e_client_get_source (E_CLIENT (client)), comp, NULL);
calendar = gcal_manager_get_calendar_from_source (gcal_context_get_manager (self->context),
e_client_get_source (E_CLIENT (client)));
event = gcal_event_new (calendar, comp, NULL);
if (gcal_event_is_multiday (event) || gcal_event_get_all_day (event))
gcal_week_header_add_event (GCAL_WEEK_HEADER (self->header), event);
+10 -5
View File
@@ -308,14 +308,14 @@ add_event_to_day_array (GcalYearView *year_view,
{
g_autoptr (GDateTime) second_date = NULL;
g_autoptr (GDateTime) date = NULL;
GcalManager *manager;
GcalCalendar *calendar;
GtkWidget *child_widget;
GDateTime *dt_start, *dt_end;
gboolean is_readonly;
gint i;
manager = gcal_context_get_manager (year_view->context);
is_readonly = !gcal_manager_is_client_writable (manager, gcal_event_get_source (event));
calendar = gcal_event_get_calendar (event);
is_readonly = gcal_calendar_is_read_only (calendar);
child_widget = gcal_event_widget_new (year_view->context, event);
gcal_event_widget_set_read_only (GCAL_EVENT_WIDGET (child_widget), is_readonly);
@@ -1469,6 +1469,7 @@ navigator_drag_drop_cb (GcalYearView *self,
{
GcalRecurrenceModType mod;
GcalEventWidget *event_widget;
GcalCalendar *calendar;
GcalEvent *event;
GDateTime *start_dt, *end_dt;
GDateTime *drop_date;
@@ -1476,7 +1477,8 @@ navigator_drag_drop_cb (GcalYearView *self,
event_widget = GCAL_EVENT_WIDGET (gtk_drag_get_source_widget (context));
event = gcal_event_widget_get_event (event_widget);
source = gcal_event_get_source (event);
calendar = gcal_event_get_calendar (event);
source = gcal_calendar_get_source (calendar);
mod = GCAL_RECURRENCE_MOD_THIS_ONLY;
if (gcal_event_has_recurrence (event) &&
@@ -1798,6 +1800,7 @@ gcal_year_view_component_added (ECalDataModelSubscriber *subscriber,
ECalComponent *comp)
{
g_autoptr (GcalEvent) event = NULL;
GcalCalendar *calendar;
GcalYearView *self;
GDateTime *event_start, *event_end;
GError *error;
@@ -1807,7 +1810,9 @@ gcal_year_view_component_added (ECalDataModelSubscriber *subscriber,
error = NULL;
self = GCAL_YEAR_VIEW (subscriber);
event = gcal_event_new (e_client_get_source (E_CLIENT (client)), comp, &error);
calendar = gcal_manager_get_calendar_from_source (gcal_context_get_manager (self->context),
e_client_get_source (E_CLIENT (client)));
event = gcal_event_new (calendar, comp, &error);
if (error)
{