[gnome-calendar] views: move :event-activated signal to GcalView
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calendar] views: move :event-activated signal to GcalView
- Date: Sat, 16 Dec 2017 23:50:17 +0000 (UTC)
commit 5c1bf907fa6cc348d8dfbd1e29e496821c5f0091
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Sat Dec 16 21:44:09 2017 -0200
views: move :event-activated signal to GcalView
We don't really need to copy this signal to every GcalView
implementation. It's just wasting code.
src/views/gcal-month-view.c | 17 ++---------------
src/views/gcal-view.c | 14 ++++++++++++++
src/views/gcal-week-view.c | 17 +----------------
src/views/gcal-year-view.c | 18 +-----------------
4 files changed, 18 insertions(+), 48 deletions(-)
---
diff --git a/src/views/gcal-month-view.c b/src/views/gcal-month-view.c
index f648ff4f..79a9e525 100644
--- a/src/views/gcal-month-view.c
+++ b/src/views/gcal-month-view.c
@@ -162,14 +162,7 @@ enum
N_PROPS
};
-enum
-{
- EVENT_ACTIVATED,
- NUM_SIGNALS
-};
-
static gpointer month_view_parent_class = NULL;
-static guint signals[NUM_SIGNALS] = { 0, };
/*
@@ -191,7 +184,7 @@ event_activated (GcalMonthView *self,
cancel_selection (self);
gcal_month_popover_popdown (self->overflow_popover);
- g_signal_emit (self, signals[EVENT_ACTIVATED], 0, widget);
+ g_signal_emit_by_name (self, "event-activated", widget);
}
static void
@@ -2213,13 +2206,7 @@ gcal_month_view_class_init (GcalMonthViewClass *klass)
g_object_class_override_property (object_class, PROP_MANAGER, "manager");
g_object_class_override_property (object_class, PROP_WEATHER_SERVICE, "weather-service");
- signals[EVENT_ACTIVATED] = g_signal_new ("event-activated",
- GCAL_TYPE_MONTH_VIEW,
- G_SIGNAL_RUN_LAST,
- 0, NULL, NULL, NULL,
- G_TYPE_NONE,
- 1,
- GCAL_TYPE_EVENT_WIDGET);
+
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/month-view.ui");
diff --git a/src/views/gcal-view.c b/src/views/gcal-view.c
index 7bf3aea0..581cec9d 100644
--- a/src/views/gcal-view.c
+++ b/src/views/gcal-view.c
@@ -21,6 +21,7 @@
#define G_LOG_DOMAIN "GcalView"
+#include "gcal-event-widget.h"
#include "gcal-view.h"
#include "gcal-utils.h"
@@ -97,6 +98,19 @@ gcal_view_default_init (GcalViewInterface *iface)
G_STRUCT_OFFSET (GcalViewInterface, create_event_detailed),
NULL, NULL, NULL,
G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
+
+ /**
+ * GcalView::event-activated:
+ *
+ * Emitted when an event widget inside the view is activated.
+ */
+ g_signal_new ("event-activated",
+ GCAL_TYPE_VIEW,
+ G_SIGNAL_RUN_LAST,
+ 0, NULL, NULL, NULL,
+ G_TYPE_NONE,
+ 1,
+ GCAL_TYPE_EVENT_WIDGET);
}
/**
diff --git a/src/views/gcal-week-view.c b/src/views/gcal-week-view.c
index bc1122fe..1c7c41a5 100644
--- a/src/views/gcal-week-view.c
+++ b/src/views/gcal-week-view.c
@@ -79,12 +79,6 @@ static void gcal_data_model_subscriber_interface_init (ECalDataModelS
enum
{
- EVENT_ACTIVATED,
- LAST_SIGNAL
-};
-
-enum
-{
PROP_0,
PROP_DATE,
PROP_MANAGER,
@@ -92,7 +86,6 @@ enum
NUM_PROPS
};
-static guint signals[LAST_SIGNAL] = { 0, };
G_DEFINE_TYPE_WITH_CODE (GcalWeekView, gcal_week_view, GTK_TYPE_BOX,
G_IMPLEMENT_INTERFACE (GCAL_TYPE_VIEW, gcal_view_interface_init)
@@ -104,7 +97,7 @@ static void
on_event_activated (GcalWeekView *self,
GtkWidget *widget)
{
- g_signal_emit (self, signals[EVENT_ACTIVATED], 0, widget);
+ g_signal_emit_by_name (self, "event-activated", widget);
}
static void
@@ -627,14 +620,6 @@ gcal_week_view_class_init (GcalWeekViewClass *klass)
g_object_class_override_property (object_class, PROP_MANAGER, "manager");
g_object_class_override_property (object_class, PROP_WEATHER_SERVICE, "weather-service");
- signals[EVENT_ACTIVATED] = g_signal_new ("event-activated",
- GCAL_TYPE_WEEK_VIEW,
- G_SIGNAL_RUN_FIRST,
- 0, NULL, NULL, NULL,
- G_TYPE_NONE,
- 1,
- GCAL_TYPE_EVENT_WIDGET);
-
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/week-view.ui");
gtk_widget_class_bind_template_child (widget_class, GcalWeekView, header);
diff --git a/src/views/gcal-year-view.c b/src/views/gcal-year-view.c
index eaf0f607..ae1386ee 100644
--- a/src/views/gcal-year-view.c
+++ b/src/views/gcal-year-view.c
@@ -130,13 +130,6 @@ enum {
LAST_PROP
};
-enum
-{
- EVENT_ACTIVATED,
- NUM_SIGNALS
-};
-
-static guint signals[NUM_SIGNALS] = { 0, };
static gpointer year_view_parent_class = NULL;
static void gcal_view_interface_init (GcalViewInterface *iface);
@@ -184,7 +177,7 @@ event_activated (GcalEventWidget *widget,
if (view->popover_mode)
gtk_widget_hide (view->popover);
- g_signal_emit (GCAL_YEAR_VIEW (user_data), signals[EVENT_ACTIVATED], 0, widget);
+ g_signal_emit_by_name (view, "event-activated", widget);
}
static void
@@ -2009,15 +2002,6 @@ gcal_year_view_class_init (GcalYearViewClass *klass)
FALSE,
G_PARAM_READWRITE));
- /* FIXME: it will problably go back to GcalView */
- signals[EVENT_ACTIVATED] = g_signal_new ("event-activated",
- GCAL_TYPE_YEAR_VIEW,
- G_SIGNAL_RUN_LAST,
- 0, NULL, NULL, NULL,
- G_TYPE_NONE,
- 1,
- GCAL_TYPE_EVENT_WIDGET);
-
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/calendar/year-view.ui");
gtk_widget_class_bind_template_child (widget_class, GcalYearView, navigator);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]