diff --git a/panels/mouse/gnome-mouse-properties.c b/panels/mouse/gnome-mouse-properties.c
index d641c142c..8c93381b6 100644
--- a/panels/mouse/gnome-mouse-properties.c
+++ b/panels/mouse/gnome-mouse-properties.c
@@ -309,11 +309,6 @@ setup_dialog (CcMouseProperties *self)
setup_touchpad_options (self);
- g_signal_connect (self->edge_scrolling_switch, "state-set",
- G_CALLBACK (edge_scrolling_changed_event), self);
- g_signal_connect (self->two_finger_scrolling_switch, "state-set",
- G_CALLBACK (two_finger_scrolling_changed_event), self);
-
gtk_list_box_set_header_func (GTK_LIST_BOX (self->touchpad_options_listbox), cc_list_box_update_header_func, NULL, NULL);
}
@@ -400,6 +395,10 @@ cc_mouse_properties_class_init (CcMousePropertiesClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcMouseProperties, touchpad_toggle_switch);
gtk_widget_class_bind_template_child (widget_class, CcMouseProperties, two_finger_scrolling_row);
gtk_widget_class_bind_template_child (widget_class, CcMouseProperties, two_finger_scrolling_switch);
+
+ gtk_widget_class_bind_template_callback (widget_class, edge_scrolling_changed_event);
+ gtk_widget_class_bind_template_callback (widget_class, two_finger_scrolling_changed_event);
+ gtk_widget_class_bind_template_callback (widget_class, on_content_size_changed);
}
static void
@@ -429,8 +428,6 @@ cc_mouse_properties_init (CcMouseProperties *self)
self->changing_scroll = FALSE;
setup_dialog (self);
-
- g_signal_connect (self->scrolled_window, "size-allocate", G_CALLBACK (on_content_size_changed), NULL);
}
GtkWidget *
diff --git a/panels/mouse/gnome-mouse-properties.ui b/panels/mouse/gnome-mouse-properties.ui
index f3453b970..d23c66d16 100644
--- a/panels/mouse/gnome-mouse-properties.ui
+++ b/panels/mouse/gnome-mouse-properties.ui
@@ -25,6 +25,7 @@
True
none
never
+
1
@@ -705,6 +707,7 @@
True
end
center
+
1
diff --git a/panels/mouse/gnome-mouse-test.c b/panels/mouse/gnome-mouse-test.c
index d631b74e9..1db81763a 100644
--- a/panels/mouse/gnome-mouse-test.c
+++ b/panels/mouse/gnome-mouse-test.c
@@ -299,13 +299,6 @@ setup_dialog (CcMouseTest *self)
GtkAdjustment *adjustment;
GtkStyleProvider *provider;
- g_signal_connect (self->button_drawing_area, "button_press_event",
- G_CALLBACK (button_drawing_area_button_press_event),
- self);
- g_signal_connect (self->button_drawing_area, "draw",
- G_CALLBACK (button_drawing_area_draw_event),
- self);
-
adjustment = GTK_ADJUSTMENT (self->scrolled_window_adjustment);
gtk_adjustment_set_value (adjustment,
gtk_adjustment_get_upper (adjustment));
@@ -361,6 +354,9 @@ cc_mouse_test_class_init (CcMouseTestClass *klass)
gtk_widget_class_bind_template_child (widget_class, CcMouseTest, image);
gtk_widget_class_bind_template_child (widget_class, CcMouseTest, scrolled_window_adjustment);
gtk_widget_class_bind_template_child (widget_class, CcMouseTest, viewport);
+
+ gtk_widget_class_bind_template_callback (widget_class, button_drawing_area_button_press_event);
+ gtk_widget_class_bind_template_callback (widget_class, button_drawing_area_draw_event);
}
static void
diff --git a/panels/mouse/gnome-mouse-test.ui b/panels/mouse/gnome-mouse-test.ui
index 4db9153a8..8e9ca19db 100644
--- a/panels/mouse/gnome-mouse-test.ui
+++ b/panels/mouse/gnome-mouse-test.ui
@@ -76,6 +76,8 @@
20
20
True
+
+
0