views/dazzling-month-view: Show event popovers
This commit is contained in:
@@ -362,6 +362,14 @@ snap_to_top_row (GcalDazzlingMonthView *self)
|
|||||||
* Callbacks
|
* Callbacks
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_event_widget_activated_cb (GcalMonthViewRow *row,
|
||||||
|
GcalEventWidget *event_widget,
|
||||||
|
GcalDazzlingMonthView *self)
|
||||||
|
{
|
||||||
|
gcal_view_event_activated (GCAL_VIEW (self), event_widget);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
on_scroll_controller_scroll_begin_cb (GtkEventControllerScroll *scroll_controller,
|
on_scroll_controller_scroll_begin_cb (GtkEventControllerScroll *scroll_controller,
|
||||||
GcalDazzlingMonthView *self)
|
GcalDazzlingMonthView *self)
|
||||||
@@ -1077,6 +1085,7 @@ gcal_dazzling_month_view_init (GcalDazzlingMonthView *self)
|
|||||||
for (gint i = 0; i < N_TOTAL_ROWS; i++)
|
for (gint i = 0; i < N_TOTAL_ROWS; i++)
|
||||||
{
|
{
|
||||||
GtkWidget *row = gcal_month_view_row_new ();
|
GtkWidget *row = gcal_month_view_row_new ();
|
||||||
|
g_signal_connect (row, "event-activated", G_CALLBACK (on_event_widget_activated_cb), self);
|
||||||
gtk_widget_set_parent (row, GTK_WIDGET (self));
|
gtk_widget_set_parent (row, GTK_WIDGET (self));
|
||||||
g_ptr_array_add (self->week_rows, row);
|
g_ptr_array_add (self->week_rows, row);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,9 @@ struct _GcalMonthViewRow
|
|||||||
GcalContext *context;
|
GcalContext *context;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void on_event_widget_activated_cb (GcalEventWidget *widget,
|
||||||
|
GcalMonthViewRow *self);
|
||||||
|
|
||||||
G_DEFINE_FINAL_TYPE (GcalMonthViewRow, gcal_month_view_row, GTK_TYPE_WIDGET)
|
G_DEFINE_FINAL_TYPE (GcalMonthViewRow, gcal_month_view_row, GTK_TYPE_WIDGET)
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@@ -83,6 +86,13 @@ enum
|
|||||||
N_PROPS,
|
N_PROPS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
EVENT_ACTIVATED,
|
||||||
|
N_SIGNALS,
|
||||||
|
};
|
||||||
|
|
||||||
|
static guint signals[N_SIGNALS] = { 0, };
|
||||||
static GParamSpec *properties [N_PROPS];
|
static GParamSpec *properties [N_PROPS];
|
||||||
|
|
||||||
|
|
||||||
@@ -93,7 +103,7 @@ setup_child_widget (GcalMonthViewRow *self,
|
|||||||
{
|
{
|
||||||
gtk_widget_insert_after (widget, GTK_WIDGET (self), self->day_cells[6]);
|
gtk_widget_insert_after (widget, GTK_WIDGET (self), self->day_cells[6]);
|
||||||
|
|
||||||
// g_signal_connect_object (widget, "activate", G_CALLBACK (on_event_activated_cb), self, 0);
|
g_signal_connect_object (widget, "activate", G_CALLBACK (on_event_widget_activated_cb), self, 0);
|
||||||
// g_signal_connect_object (widget, "notify::visible", G_CALLBACK (on_event_widget_visibility_changed_cb), self, 0);
|
// g_signal_connect_object (widget, "notify::visible", G_CALLBACK (on_event_widget_visibility_changed_cb), self, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -756,6 +766,18 @@ allocate_single_day_events (GcalMonthViewRow *self,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Callbacks
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void
|
||||||
|
on_event_widget_activated_cb (GcalEventWidget *widget,
|
||||||
|
GcalMonthViewRow *self)
|
||||||
|
{
|
||||||
|
g_signal_emit (self, signals[EVENT_ACTIVATED], 0, widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GtkWidget overrides
|
* GtkWidget overrides
|
||||||
*/
|
*/
|
||||||
@@ -975,6 +997,14 @@ gcal_month_view_row_class_init (GcalMonthViewRowClass *klass)
|
|||||||
|
|
||||||
g_object_class_install_properties (object_class, N_PROPS, properties);
|
g_object_class_install_properties (object_class, N_PROPS, properties);
|
||||||
|
|
||||||
|
signals[EVENT_ACTIVATED] = g_signal_new ("event-activated",
|
||||||
|
GCAL_TYPE_MONTH_VIEW_ROW,
|
||||||
|
G_SIGNAL_RUN_FIRST,
|
||||||
|
0, NULL, NULL, NULL,
|
||||||
|
G_TYPE_NONE,
|
||||||
|
1,
|
||||||
|
GCAL_TYPE_EVENT_WIDGET);
|
||||||
|
|
||||||
gtk_widget_class_set_css_name (widget_class, "monthviewrow");
|
gtk_widget_class_set_css_name (widget_class, "monthviewrow");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user