diff --git a/data/interface.ui b/data/interface.ui index 1e899b6102f358cee7dc67c0ae7854e8e7f30f52..e36bc6f5434f981ecf21de4cc997ec80db99f6ab 100644 --- a/data/interface.ui +++ b/data/interface.ui @@ -107,7 +107,6 @@ <object class="GtkSwitch" id="tryfilter"> <property name="visible">True</property> <property name="can_focus">True</property> - <signal name="notify::active" handler="tryfilter_active_cb" swapped="no"/> </object> <packing> <property name="left_attach">1</property> @@ -118,7 +117,6 @@ <object class="GtkSwitch" id="kickfilter"> <property name="visible">True</property> <property name="can_focus">True</property> - <signal name="notify::active" handler="kickfilter_active_cb" swapped="no"/> </object> <packing> <property name="left_attach">1</property> diff --git a/src/rugby-app-window.c b/src/rugby-app-window.c index efe92a6f50d29f4871be944ebbeee85445e6e96a..777a227466ccf8cc466465a00d1c4f435d7915dc 100644 --- a/src/rugby-app-window.c +++ b/src/rugby-app-window.c @@ -54,24 +54,6 @@ scorespin_value_changed_cb (GtkSpinButton *spin, gtk_range_set_range (GTK_RANGE (self->kickscale), 0.0, max_kicks); } -static void -tryfilter_active_cb (GObject *gobject, - GParamSpec *pspec, - RugbyAppWindow *self) -{ - gboolean active = gtk_switch_get_active (GTK_SWITCH (gobject)); - gtk_widget_set_sensitive (self->tryscale, active); -} - -static void -kickfilter_active_cb (GObject *gobject, - GParamSpec *pspec, - RugbyAppWindow *self) -{ - gboolean active = gtk_switch_get_active (GTK_SWITCH (gobject)); - gtk_widget_set_sensitive (self->kickscale, active); -} - static void scale_value_changed_cb (GtkRange *range, RugbyAppWindow *self) @@ -132,6 +114,14 @@ rugby_app_window_init (RugbyAppWindow *self) gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (self->filter), filter_visible_func, self, NULL); gtk_tree_view_set_model (GTK_TREE_VIEW (self->treeview), self->filter); + + g_object_bind_property (self->tryfilter, "active", + self->tryscale, "sensitive", + G_BINDING_DEFAULT); + g_object_bind_property (self->kickfilter, "active", + self->kickscale, "sensitive", + G_BINDING_DEFAULT); + } static void @@ -162,8 +152,6 @@ rugby_app_window_class_init (RugbyAppWindowClass *klass) gtk_widget_class_bind_template_child (widget_class, RugbyAppWindow, treeview); gtk_widget_class_bind_template_callback (widget_class, scorespin_value_changed_cb); - gtk_widget_class_bind_template_callback (widget_class, tryfilter_active_cb); - gtk_widget_class_bind_template_callback (widget_class, kickfilter_active_cb); gtk_widget_class_bind_template_callback (widget_class, scale_value_changed_cb); }