manager: pass ECalObjModType to update and remove

Currently, GcalManager always assumes E_CAL_OBJ_MOD_THIS
when modifying or deleting events. Since we're landing
the groundwork for recurrence management, we can't assume
this anymore.

This patch, then, allows GcalManager:modify_event() and
:remove_event() receive the ECalObjModType instead of
assuming E_CAL_OBJ_MOD_THIS. However, this commit does
not add recurrence support yet, and every call to these
functions are still passing E_CAL_OBJ_MOD_THIS.

https://bugzilla.gnome.org/show_bug.cgi?id=782755
This commit is contained in:
Yash Singh
2017-05-27 11:36:05 -03:00
committed by Georges Basile Stavracas Neto
parent a53581ed53
commit 9ffa913ad4
8 changed files with 23 additions and 17 deletions
+1 -1
View File
@@ -817,7 +817,7 @@ remove_button_clicked (GtkButton *button,
gcal_event_remove_alarm (event, trigger_minutes); gcal_event_remove_alarm (event, trigger_minutes);
gcal_manager_update_event (self->manager, event); gcal_manager_update_event (self->manager, event, E_CAL_OBJ_MOD_THIS);
gtk_widget_destroy (row); gtk_widget_destroy (row);
+10 -6
View File
@@ -1748,12 +1748,14 @@ gcal_manager_create_event (GcalManager *manager,
* gcal_manager_update_event: * gcal_manager_update_event:
* @manager: a #GcalManager * @manager: a #GcalManager
* @event: a #GcalEvent * @event: a #GcalEvent
* @mod: an #ECalObjModType
* *
* Saves all changes made to @event persistently. * Saves all changes made to @event persistently.
*/ */
void void
gcal_manager_update_event (GcalManager *manager, gcal_manager_update_event (GcalManager *manager,
GcalEvent *event) GcalEvent *event,
ECalObjModType mod)
{ {
GcalManagerUnit *unit; GcalManagerUnit *unit;
ECalComponent *component; ECalComponent *component;
@@ -1775,7 +1777,7 @@ gcal_manager_update_event (GcalManager *manager,
e_cal_client_modify_object (unit->client, e_cal_client_modify_object (unit->client,
e_cal_component_get_icalcomponent (component), e_cal_component_get_icalcomponent (component),
E_CAL_OBJ_MOD_THIS, mod,
NULL, NULL,
on_event_updated, on_event_updated,
component); component);
@@ -1787,12 +1789,14 @@ gcal_manager_update_event (GcalManager *manager,
* gcal_manager_remove_event: * gcal_manager_remove_event:
* @manager: a #GcalManager * @manager: a #GcalManager
* @event: a #GcalEvent * @event: a #GcalEvent
* @mod: an #ECalObjModType
* *
* Deletes @event. * Deletes @event.
*/ */
void void
gcal_manager_remove_event (GcalManager *manager, gcal_manager_remove_event (GcalManager *manager,
GcalEvent *event) GcalEvent *event,
ECalObjModType mod)
{ {
GcalManagerUnit *unit; GcalManagerUnit *unit;
ECalComponentId *id; ECalComponentId *id;
@@ -1817,7 +1821,7 @@ gcal_manager_remove_event (GcalManager *manager,
e_cal_client_remove_object (unit->client, e_cal_client_remove_object (unit->client,
id->uid, id->uid,
id->rid, id->rid,
E_CAL_OBJ_MOD_THIS, mod,
manager->async_ops, manager->async_ops,
on_event_removed, on_event_removed,
component); component);
+4 -2
View File
@@ -75,10 +75,12 @@ void gcal_manager_create_event (GcalManager
GcalEvent *event); GcalEvent *event);
void gcal_manager_update_event (GcalManager *manager, void gcal_manager_update_event (GcalManager *manager,
GcalEvent *event); GcalEvent *event,
ECalObjModType mod);
void gcal_manager_remove_event (GcalManager *manager, void gcal_manager_remove_event (GcalManager *manager,
GcalEvent *event); GcalEvent *event,
ECalObjModType mod);
void gcal_manager_move_event_to_source (GcalManager *manager, void gcal_manager_move_event_to_source (GcalManager *manager,
GcalEvent *event, GcalEvent *event,
+4 -4
View File
@@ -1102,13 +1102,13 @@ edit_dialog_closed (GtkDialog *dialog,
break; break;
case GCAL_RESPONSE_SAVE_EVENT: case GCAL_RESPONSE_SAVE_EVENT:
gcal_manager_update_event (window->manager, event); gcal_manager_update_event (window->manager, event, E_CAL_OBJ_MOD_THIS);
break; break;
case GCAL_RESPONSE_DELETE_EVENT: case GCAL_RESPONSE_DELETE_EVENT:
if (window->event_to_delete != NULL) if (window->event_to_delete != NULL)
{ {
gcal_manager_remove_event (window->manager, window->event_to_delete); gcal_manager_remove_event (window->manager, window->event_to_delete, E_CAL_OBJ_MOD_THIS);
g_clear_object (&window->event_to_delete); g_clear_object (&window->event_to_delete);
create_notification (GCAL_WINDOW (user_data), _("Another event deleted"), _("Undo")); create_notification (GCAL_WINDOW (user_data), _("Another event deleted"), _("Undo"));
@@ -1209,7 +1209,7 @@ remove_event (GtkWidget *notification,
if (window->event_to_delete != NULL) if (window->event_to_delete != NULL)
{ {
gcal_manager_remove_event (window->manager, window->event_to_delete); gcal_manager_remove_event (window->manager, window->event_to_delete, E_CAL_OBJ_MOD_THIS);
g_clear_object (&window->event_to_delete); g_clear_object (&window->event_to_delete);
} }
} }
@@ -1282,7 +1282,7 @@ gcal_window_finalize (GObject *object)
/* If we have a queued event to delete, remove it now */ /* If we have a queued event to delete, remove it now */
if (window->event_to_delete) if (window->event_to_delete)
{ {
gcal_manager_remove_event (window->manager, window->event_to_delete); gcal_manager_remove_event (window->manager, window->event_to_delete, E_CAL_OBJ_MOD_THIS);
g_clear_object (&window->event_to_delete); g_clear_object (&window->event_to_delete);
} }
+1 -1
View File
@@ -829,7 +829,7 @@ gcal_month_view_drag_drop (GtkWidget *widget,
g_clear_pointer (&new_end, g_date_time_unref); g_clear_pointer (&new_end, g_date_time_unref);
} }
gcal_manager_update_event (self->manager, event); gcal_manager_update_event (self->manager, event, E_CAL_OBJ_MOD_THIS);
g_clear_pointer (&new_start, g_date_time_unref); g_clear_pointer (&new_start, g_date_time_unref);
+1 -1
View File
@@ -1007,7 +1007,7 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
gcal_event_set_date_end (event, new_end); gcal_event_set_date_end (event, new_end);
/* Commit the changes */ /* Commit the changes */
gcal_manager_update_event (self->manager, event); gcal_manager_update_event (self->manager, event, E_CAL_OBJ_MOD_THIS);
/* Cancel the DnD */ /* Cancel the DnD */
self->dnd_cell = -1; self->dnd_cell = -1;
+1 -1
View File
@@ -1407,7 +1407,7 @@ gcal_week_header_drag_drop (GtkWidget *widget,
gcal_event_set_all_day (event, TRUE); gcal_event_set_all_day (event, TRUE);
/* Commit the changes */ /* Commit the changes */
gcal_manager_update_event (self->manager, event); gcal_manager_update_event (self->manager, event, E_CAL_OBJ_MOD_THIS);
/* Cancel the DnD */ /* Cancel the DnD */
self->dnd_cell = -1; self->dnd_cell = -1;
+1 -1
View File
@@ -1512,7 +1512,7 @@ navigator_drag_drop_cb (GcalYearView *self,
g_clear_pointer (&new_end, g_date_time_unref); g_clear_pointer (&new_end, g_date_time_unref);
} }
gcal_manager_update_event (self->manager, event); gcal_manager_update_event (self->manager, event, E_CAL_OBJ_MOD_THIS);
g_clear_pointer (&new_start, g_date_time_unref); g_clear_pointer (&new_start, g_date_time_unref);
} }