gcal-nav-bar: removed #GcalNavBar:move signal
Use back/forward buttons :clicked signal
This commit is contained in:
+18
-39
@@ -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
@@ -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
@@ -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; */
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user