utils: Pass GcalCalendar to ask_recurrence_modification_type()

The method ask_recurrence_modification_type() currently
receives an ESource, and tried to fetch the ECalClient
from the ESource by using g_object_get_data().

However, since we moved to GcalCalendar, we do not set
this data field in ESource.

Receive a GcalCalendar instead, and use the appropriate
function gcal_calendar_get_client() instead.
This commit is contained in:
Georges Basile Stavracas Neto
2019-09-14 21:38:53 -03:00
parent 18ae67cb59
commit 5e4bbe446f
6 changed files with 11 additions and 19 deletions
+1 -3
View File
@@ -662,7 +662,6 @@ edit_dialog_closed (GtkDialog *dialog,
GcalEvent *event;
GcalView *view;
GList *widgets;
ESource *source;
GCAL_ENTRY;
@@ -673,7 +672,6 @@ edit_dialog_closed (GtkDialog *dialog,
view = GCAL_VIEW (window->views[window->active_view]);
mod = GCAL_RECURRENCE_MOD_THIS_ONLY;
calendar = gcal_event_get_calendar (event);
source = gcal_calendar_get_source (calendar);
if (!gcal_edit_dialog_get_recurrence_changed (edit_dialog) &&
gcal_event_has_recurrence (event) &&
@@ -681,7 +679,7 @@ edit_dialog_closed (GtkDialog *dialog,
response != GTK_RESPONSE_CANCEL &&
response != GTK_RESPONSE_DELETE_EVENT &&
gcal_event_has_recurrence (event) &&
!ask_recurrence_modification_type (GTK_WIDGET (dialog), &mod, source)))
!ask_recurrence_modification_type (GTK_WIDGET (dialog), &mod, calendar)))
{
return;
}
+6 -6
View File
@@ -922,15 +922,15 @@ is_source_enabled (ESource *source)
* @modtype is assigned, %FALSE otherwise.
*/
gboolean
ask_recurrence_modification_type (GtkWidget *parent,
ask_recurrence_modification_type (GtkWidget *parent,
GcalRecurrenceModType *modtype,
ESource *source)
GcalCalendar *calendar)
{
GtkWidget *dialog;
GtkDialogFlags flags;
gint result;
ECalClient *client;
GtkWidget *dialog;
gboolean is_set;
EClient *client;
gint result;
flags = GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT;
*modtype = GCAL_RECURRENCE_MOD_THIS_ONLY;
@@ -948,7 +948,7 @@ ask_recurrence_modification_type (GtkWidget *parent,
GTK_RESPONSE_ACCEPT,
NULL);
client = g_object_get_data (G_OBJECT (source), "client");
client = gcal_calendar_get_client (calendar);
if (!e_client_check_capability (E_CLIENT (client), E_CAL_STATIC_CAPABILITY_NO_THISANDFUTURE))
gtk_dialog_add_button (GTK_DIALOG (dialog), _("_Subsequent events"), GTK_RESPONSE_OK);
+1 -1
View File
@@ -107,7 +107,7 @@ gboolean is_source_enabled (ESource
gboolean ask_recurrence_modification_type (GtkWidget *parent,
GcalRecurrenceModType *modtype,
ESource *source);
GcalCalendar *calendar);
gboolean is_workday (guint day);
+1 -3
View File
@@ -209,7 +209,6 @@ gcal_month_cell_drag_drop (GtkWidget *widget,
GtkWidget *event_widget;
GDateTime *start_dt, *end_dt;
GcalEvent *event;
ESource *source;
gint diff;
gint start_month, current_month;
gint start_year, current_year;
@@ -227,10 +226,9 @@ gcal_month_cell_drag_drop (GtkWidget *widget,
event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (event_widget));
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))
!ask_recurrence_modification_type (widget, &mod, calendar))
{
goto out;
}
+1 -3
View File
@@ -981,7 +981,6 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
GcalCalendar *calendar;
GtkWidget *event_widget;
GcalEvent *event;
ESource *source;
GTimeSpan timespan = 0;
gboolean ltr;
gint drop_cell;
@@ -1012,10 +1011,9 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
event = gcal_event_widget_get_event (GCAL_EVENT_WIDGET (event_widget));
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))
!ask_recurrence_modification_type (widget, &mod, calendar))
{
goto out;
}
+1 -3
View File
@@ -1515,16 +1515,14 @@ navigator_drag_drop_cb (GcalYearView *self,
GcalEvent *event;
GDateTime *start_dt, *end_dt;
GDateTime *drop_date;
ESource *source;
event_widget = GCAL_EVENT_WIDGET (gtk_drag_get_source_widget (context));
event = gcal_event_widget_get_event (event_widget);
calendar = gcal_event_get_calendar (event);
source = gcal_calendar_get_source (calendar);
mod = GCAL_RECURRENCE_MOD_THIS_ONLY;
if (gcal_event_has_recurrence (event) &&
!ask_recurrence_modification_type (GTK_WIDGET (self), &mod, source))
!ask_recurrence_modification_type (GTK_WIDGET (self), &mod, calendar))
{
goto out;
}