gcal-nav-bar: removed #GcalNavBar:move signal

Use back/forward buttons :clicked signal
This commit is contained in:
Erick Pérez Castellanos
2014-12-04 17:10:21 -05:00
parent 72a4981965
commit 0177641993
4 changed files with 39 additions and 57 deletions
+18 -39
View File
@@ -39,15 +39,6 @@ enum
PROP_RIGHT_HEADER PROP_RIGHT_HEADER
}; };
/* Signal IDs */
enum
{
MOVE,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL];
static void gcal_nav_bar_set_property (GObject *object, static void gcal_nav_bar_set_property (GObject *object,
guint property_id, guint property_id,
const GValue *value, const GValue *value,
@@ -58,9 +49,6 @@ static void gcal_nav_bar_get_property (GObject *object
GValue *value, GValue *value,
GParamSpec *pspec); GParamSpec *pspec);
static void gcal_nav_bar_btn_clicked (GtkButton *button,
gpointer user_data);
G_DEFINE_TYPE(GcalNavBar, gcal_nav_bar, GTK_TYPE_GRID) G_DEFINE_TYPE(GcalNavBar, gcal_nav_bar, GTK_TYPE_GRID)
static void static void
@@ -93,17 +81,6 @@ gcal_nav_bar_class_init (GcalNavBarClass *klass)
G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT |
G_PARAM_READWRITE)); G_PARAM_READWRITE));
signals[MOVE] = g_signal_new ("move",
GCAL_TYPE_NAV_BAR,
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GcalNavBarClass,
move),
NULL, NULL,
g_cclosure_marshal_VOID__BOOLEAN,
G_TYPE_NONE,
1,
G_TYPE_BOOLEAN);
widget_class = GTK_WIDGET_CLASS (klass); widget_class = GTK_WIDGET_CLASS (klass);
/* Setup the template GtkBuilder xml for this class */ /* Setup the template GtkBuilder xml for this class */
@@ -115,9 +92,6 @@ gcal_nav_bar_class_init (GcalNavBarClass *klass)
gtk_widget_class_bind_child (widget_class, GcalNavBarPrivate, left_label); gtk_widget_class_bind_child (widget_class, GcalNavBarPrivate, left_label);
gtk_widget_class_bind_child (widget_class, GcalNavBarPrivate, right_label); gtk_widget_class_bind_child (widget_class, GcalNavBarPrivate, right_label);
/* Bind callbacks */
gtk_widget_class_bind_callback (widget_class, gcal_nav_bar_btn_clicked);
g_type_class_add_private ((gpointer)klass, sizeof (GcalNavBarPrivate)); g_type_class_add_private ((gpointer)klass, sizeof (GcalNavBarPrivate));
} }
@@ -182,19 +156,6 @@ gcal_nav_bar_get_property (GObject *object,
} }
} }
static void
gcal_nav_bar_btn_clicked (GtkButton *button,
gpointer user_data)
{
GcalNavBarPrivate *priv;
priv = GCAL_NAV_BAR (user_data)->priv;
if ((GtkWidget*) button == priv->back_button)
g_signal_emit (GCAL_NAV_BAR (user_data), signals[MOVE], 0, FALSE);
else
g_signal_emit (GCAL_NAV_BAR (user_data), signals[MOVE], 0, TRUE);
}
/* Public API */ /* Public API */
/** /**
* gcal_nav_bar_new: * gcal_nav_bar_new:
@@ -208,3 +169,21 @@ gcal_nav_bar_new (void)
{ {
return g_object_new (GCAL_TYPE_NAV_BAR, NULL); return g_object_new (GCAL_TYPE_NAV_BAR, NULL);
} }
GtkWidget*
gcal_nav_bar_get_prev_button (GcalNavBar *nav_bar)
{
GcalNavBarPrivate *priv;
priv = nav_bar->priv;
return priv->back_button;
}
GtkWidget*
gcal_nav_bar_get_next_button (GcalNavBar *nav_bar)
{
GcalNavBarPrivate *priv;
priv = nav_bar->priv;
return priv->forward_button;
}
+4 -3
View File
@@ -46,15 +46,16 @@ struct _GcalNavBar
struct _GcalNavBarClass struct _GcalNavBarClass
{ {
GtkGridClass parent_class; GtkGridClass parent_class;
/* signals */
void (*move) (GcalNavBar *nav_bar, gboolean forward);
}; };
GType gcal_nav_bar_get_type (void); GType gcal_nav_bar_get_type (void);
GtkWidget* gcal_nav_bar_new (void); GtkWidget* gcal_nav_bar_new (void);
GtkWidget* gcal_nav_bar_get_prev_button (GcalNavBar *nav_bar);
GtkWidget* gcal_nav_bar_get_next_button (GcalNavBar *nav_bar);
G_END_DECLS G_END_DECLS
#endif /* __GCAL_NAV_BAR_H__ */ #endif /* __GCAL_NAV_BAR_H__ */
+17 -13
View File
@@ -112,8 +112,7 @@ static void gcal_window_search_toggled (GObject *o
static void gcal_window_search_changed (GtkEditable *editable, static void gcal_window_search_changed (GtkEditable *editable,
gpointer user_data); gpointer user_data);
static void gcal_window_view_updated (GcalNavBar *nav_bar, static void gcal_window_view_updated (GtkButton *buttton,
gboolean forward,
gpointer user_data); gpointer user_data);
static void gcal_window_set_active_view (GcalWindow *window, static void gcal_window_set_active_view (GcalWindow *window,
@@ -342,8 +341,11 @@ gcal_window_constructed (GObject *object)
G_CALLBACK (gcal_window_search_toggled), object); G_CALLBACK (gcal_window_search_toggled), object);
g_signal_connect (priv->search_entry, "changed", g_signal_connect (priv->search_entry, "changed",
G_CALLBACK (gcal_window_search_changed), object); G_CALLBACK (gcal_window_search_changed), object);
g_signal_connect (priv->nav_bar, "move",
G_CALLBACK (gcal_window_view_updated), object); g_signal_connect (gcal_nav_bar_get_prev_button (GCAL_NAV_BAR (priv->nav_bar)),
"clicked", G_CALLBACK (gcal_window_view_updated), object);
g_signal_connect (gcal_nav_bar_get_next_button (GCAL_NAV_BAR (priv->nav_bar)),
"clicked", G_CALLBACK (gcal_window_view_updated), object);
gtk_container_add (GTK_CONTAINER (object), priv->main_box); gtk_container_add (GTK_CONTAINER (object), priv->main_box);
gtk_widget_show_all (priv->main_box); gtk_widget_show_all (priv->main_box);
@@ -532,19 +534,21 @@ gcal_window_search_changed (GtkEditable *editable,
} }
static void static void
gcal_window_view_updated (GcalNavBar *nav_bar, gcal_window_view_updated (GtkButton *button,
gboolean forward,
gpointer user_data) gpointer user_data)
{ {
/* FIXME: reenable views updating */ GcalWindowPrivate *priv;
/* GcalWindowPrivate *priv; */ priv = GCAL_WINDOW (user_data)->priv;
/* icaltimetype *first_day; */
/* icaltimetype *last_day; */
if (! forward) if (gcal_nav_bar_get_prev_button (GCAL_NAV_BAR (priv->nav_bar)) ==
g_debug ("Moved back"); (GtkWidget*) button)
{
g_debug ("Moved back");
}
else else
g_debug ("Moved forward"); {
g_debug ("Moved forward");
}
/* FIXME: reenable views updating */ /* FIXME: reenable views updating */
/* priv = GCAL_WINDOW (user_data)->priv; */ /* priv = GCAL_WINDOW (user_data)->priv; */
-2
View File
@@ -23,7 +23,6 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="focus_on_click">False</property> <property name="focus_on_click">False</property>
<signal name="clicked" handler="gcal_nav_bar_btn_clicked" object="GcalNavBar" after="yes" swapped="no" />
<style> <style>
<class name="nav-button"/> <class name="nav-button"/>
</style> </style>
@@ -46,7 +45,6 @@
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="focus_on_click">False</property> <property name="focus_on_click">False</property>
<signal name="clicked" handler="gcal_nav_bar_btn_clicked" object="GcalNavBar" after="yes" swapped="no" />
<style> <style>
<class name="nav-button"/> <class name="nav-button"/>
</style> </style>