view: Operate on ranges

This is the data struct we should be using everywhere now.
This commit is contained in:
Georges Basile Stavracas Neto
2023-08-11 15:13:44 -03:00
parent 80efa6fd26
commit d5a36d4ad2
5 changed files with 38 additions and 36 deletions
+2 -4
View File
@@ -25,14 +25,12 @@
G_BEGIN_DECLS
void gcal_view_create_event (GcalView *self,
GDateTime *start,
GDateTime *end,
GcalRange *range,
gdouble x,
gdouble y);
void gcal_view_create_event_detailed (GcalView *self,
GDateTime *start,
GDateTime *end);
GcalRange *range);
void gcal_view_event_activated (GcalView *self,
GcalEventWidget *event_widget);
+10 -15
View File
@@ -77,9 +77,8 @@ gcal_view_default_init (GcalViewInterface *iface)
G_STRUCT_OFFSET (GcalViewInterface, create_event),
NULL, NULL, NULL,
G_TYPE_NONE,
4,
G_TYPE_DATE_TIME,
G_TYPE_DATE_TIME,
3,
GCAL_TYPE_RANGE,
G_TYPE_DOUBLE,
G_TYPE_DOUBLE);
@@ -94,9 +93,8 @@ gcal_view_default_init (GcalViewInterface *iface)
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GcalViewInterface, create_event_detailed),
NULL, NULL, NULL,
G_TYPE_NONE, 2,
G_TYPE_DATE_TIME,
G_TYPE_DATE_TIME);
G_TYPE_NONE, 1,
GCAL_TYPE_RANGE);
/**
* GcalView::event-activated:
@@ -267,27 +265,24 @@ gcal_view_get_previous_date (GcalView *self)
void
gcal_view_create_event (GcalView *self,
GDateTime *start,
GDateTime *end,
GcalRange *range,
gdouble x,
gdouble y)
{
g_assert (GCAL_IS_VIEW (self));
g_assert (start != NULL);
g_assert (end != NULL);
g_assert (range != NULL);
g_signal_emit (self, signals[CREATE_EVENT], 0, start, end, x, y);
g_signal_emit (self, signals[CREATE_EVENT], 0, range, x, y);
}
void
gcal_view_create_event_detailed (GcalView *self,
GDateTime *start,
GDateTime *end)
GcalRange *range)
{
g_assert (GCAL_IS_VIEW (self));
g_assert (start != NULL);
g_assert (range != NULL);
g_signal_emit (self, signals[CREATE_EVENT_DETAILED], 0, start, end);
g_signal_emit (self, signals[CREATE_EVENT_DETAILED], 0, range);
}
void
+3 -1
View File
@@ -250,6 +250,7 @@ on_click_gesture_released_cb (GtkGestureClick *click_gesture,
GcalWeekGrid *self)
{
g_autoptr (GDateTime) week_start = NULL;
g_autoptr (GcalRange) range = NULL;
g_autoptr (GDateTime) start = NULL;
g_autoptr (GDateTime) end = NULL;
GtkAllocation alloc;
@@ -319,7 +320,8 @@ on_click_gesture_released_cb (GtkGestureClick *click_gesture,
&out_x,
&out_y);
gcal_view_create_event (GCAL_VIEW (weekview), start, end, out_x, out_y);
range = gcal_range_new (start, end, GCAL_RANGE_DEFAULT);
gcal_view_create_event (GCAL_VIEW (weekview), range, out_x, out_y);
gtk_event_controller_set_propagation_phase (self->motion_controller, GTK_PHASE_NONE);
}
+3 -1
View File
@@ -301,6 +301,7 @@ on_button_released (GtkGestureClick *click_gesture,
g_autoptr (GDateTime) selection_start = NULL;
g_autoptr (GDateTime) selection_end = NULL;
g_autoptr (GDateTime) week_start = NULL;
g_autoptr (GcalRange) range = NULL;
GtkWidget *weekview;
gboolean ltr;
gdouble column_width;
@@ -349,7 +350,8 @@ on_button_released (GtkGestureClick *click_gesture,
NULL,
&out_y);
gcal_view_create_event (GCAL_VIEW (weekview), selection_start, selection_end, out_x, out_y);
range = gcal_range_new (selection_start, selection_end, GCAL_RANGE_DATE_ONLY);
gcal_view_create_event (GCAL_VIEW (weekview), range, out_x, out_y);
gtk_event_controller_set_propagation_phase (self->motion_controller, GTK_PHASE_NONE);
}