week-grid, week-header: simplify code

We don't need to check whether the end date is NULL,
for GcalEvent always ensures that.
This commit is contained in:
Georges Basile Stavracas Neto
2017-04-12 15:12:03 -03:00
parent 89f142d79e
commit 57a2bf8983
2 changed files with 11 additions and 20 deletions
+5 -7
View File
@@ -1008,6 +1008,7 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
GcalWeekGrid *self; GcalWeekGrid *self;
g_autoptr (GDateTime) week_start; g_autoptr (GDateTime) week_start;
g_autoptr (GDateTime) dnd_date; g_autoptr (GDateTime) dnd_date;
g_autoptr (GDateTime) new_end;
GtkWidget *event_widget; GtkWidget *event_widget;
GcalEvent *event; GcalEvent *event;
GTimeSpan timespan = 0; GTimeSpan timespan = 0;
@@ -1043,8 +1044,7 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
* Calculate the diff between the dropped cell and the event's start date, * Calculate the diff between the dropped cell and the event's start date,
* so we can update the end date accordingly. * so we can update the end date accordingly.
*/ */
if (gcal_event_get_date_end (event)) timespan = g_date_time_difference (gcal_event_get_date_end (event), gcal_event_get_date_start (event));
timespan = g_date_time_difference (gcal_event_get_date_end (event), gcal_event_get_date_start (event));
/* /*
* Set the event's start and end dates. Since the event may have a * Set the event's start and end dates. Since the event may have a
@@ -1053,12 +1053,10 @@ gcal_week_grid_drag_drop (GtkWidget *widget,
gcal_event_set_all_day (event, FALSE); gcal_event_set_all_day (event, FALSE);
gcal_event_set_date_start (event, dnd_date); gcal_event_set_date_start (event, dnd_date);
if (gcal_event_get_date_end (event))
{
g_autoptr (GDateTime) new_end = g_date_time_add (dnd_date, timespan);
gcal_event_set_date_end (event, new_end); /* Setup the new end date */
} new_end = g_date_time_add (dnd_date, timespan);
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);
+6 -13
View File
@@ -1402,8 +1402,10 @@ gcal_week_header_drag_drop (GtkWidget *widget,
GcalWeekHeader *self; GcalWeekHeader *self;
g_autoptr (GDateTime) week_start; g_autoptr (GDateTime) week_start;
g_autoptr (GDateTime) dnd_date; g_autoptr (GDateTime) dnd_date;
g_autoptr (GDateTime) new_end;
GDateTime *start_date; GDateTime *start_date;
GDateTime *end_date; GDateTime *end_date;
GTimeSpan difference;
GtkWidget *event_widget; GtkWidget *event_widget;
GcalEvent *event; GcalEvent *event;
gboolean turn_all_day; gboolean turn_all_day;
@@ -1455,20 +1457,11 @@ gcal_week_header_drag_drop (GtkWidget *widget,
0, 0, 0); 0, 0, 0);
} }
/* Since the event may have a NULL end date, so we have to check it here */ /* End date */
if (end_date) difference = turn_all_day ? 24 : g_date_time_difference (end_date, start_date) / G_TIME_SPAN_HOUR;
{
g_autoptr (GDateTime) new_end;
GTimeSpan difference;
if (turn_all_day) new_end = g_date_time_add_hours (dnd_date, difference);
difference = 24; gcal_event_set_date_end (event, new_end);
else
difference = g_date_time_difference (end_date, start_date) / G_TIME_SPAN_HOUR;
new_end = g_date_time_add_hours (dnd_date, difference);
gcal_event_set_date_end (event, new_end);
}
/* /*
* Set the start date ~after~ the end date, so we can compare * Set the start date ~after~ the end date, so we can compare