[gnome-calendar/wip/pandusonu/week-view: 14/21] week-header: fix various issues with dates
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calendar/wip/pandusonu/week-view: 14/21] week-header: fix various issues with dates
- Date: Thu, 8 Dec 2016 20:55:55 +0000 (UTC)
commit f7658bede225cb9880eb7fbc06dbf4006715389f
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Dec 8 16:39:02 2016 -0200
week-header: fix various issues with dates
When breaking and merging event widgets, the start
and end dates must be updated to reflect the current
widget state.
src/views/gcal-week-header.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/src/views/gcal-week-header.c b/src/views/gcal-week-header.c
index 6ab3b7d..0fed4fb 100644
--- a/src/views/gcal-week-header.c
+++ b/src/views/gcal-week-header.c
@@ -289,8 +289,13 @@ merge_events (GcalWeekHeader *self,
GtkWidget *event,
GtkWidget *to_be_removed)
{
+ GDateTime *end_date;
gint deleted_width, current_width;
+ /* Setup the new end date of the merged event */
+ end_date = gcal_event_widget_get_date_end (GCAL_EVENT_WIDGET (to_be_removed));
+ gcal_event_widget_set_date_end (GCAL_EVENT_WIDGET (event), end_date);
+
/* Retrieve the current sizes */
gtk_container_child_get (GTK_CONTAINER (self->grid),
to_be_removed,
@@ -431,6 +436,7 @@ split_event_widget_at_column (GcalWeekHeader *self,
GtkWidget *widget_before;
widget_before = gcal_event_widget_clone (GCAL_EVENT_WIDGET (widget));
+ gcal_event_widget_set_date_end (GCAL_EVENT_WIDGET (widget_before), column_date);
gtk_grid_attach (GTK_GRID (self->grid),
widget_before,
@@ -445,13 +451,14 @@ split_event_widget_at_column (GcalWeekHeader *self,
old_width = new_width;
left_attach = column;
- /* Update the current event position and size */
+ /* Update the current event position, size and start date */
gtk_container_child_set (GTK_CONTAINER (self->grid),
widget,
"left_attach", left_attach,
"width", new_width,
NULL);
+ gcal_event_widget_set_date_start (GCAL_EVENT_WIDGET (widget), column_date);
gtk_widget_set_visible (widget, is_event_visible (self, left_attach, top_attach - 1));
}
@@ -639,6 +646,7 @@ add_event_to_grid (GcalWeekHeader *self,
1,
1);
+ gcal_event_widget_set_date_end (GCAL_EVENT_WIDGET (widget), cloned_widget_start_dt);
gcal_event_widget_set_date_start (GCAL_EVENT_WIDGET (cloned_widget), cloned_widget_start_dt);
/* From now on, let's modify this widget */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]