summaryrefslogtreecommitdiff
path: root/gtk/gtkscrolledwindow.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2014-05-06 15:50:01 +0200
committerCarlos Garnacho <carlosg@gnome.org>2014-05-23 19:54:29 +0200
commit5369c7702909e6b6dd5c0790d2d68445ae9b0201 (patch)
tree110b646aea89d1760359cb01d1746f111097fa9d /gtk/gtkscrolledwindow.c
parentf0940c962fe3df73cd15bd0d9de92e85158e37d5 (diff)
downloadgtk+-5369c7702909e6b6dd5c0790d2d68445ae9b0201.tar.gz
gesture: Simplify gesture/widget interaction public API
The propagation phase property/methods in GtkEventController are gone, This is now set directly on the GtkWidget add/remove controller API, which has been made private. The only public bit now are the new functions gtk_gesture_attach() and gtk_gesture_detach() that will use the private API underneath. All callers have been updated.
Diffstat (limited to 'gtk/gtkscrolledwindow.c')
-rw-r--r--gtk/gtkscrolledwindow.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 01d5f52619..65061d4ffc 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -745,8 +745,6 @@ gtk_scrolled_window_init (GtkScrolledWindow *scrolled_window)
priv->drag_gesture = gtk_gesture_drag_new (widget);
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (priv->drag_gesture), 1);
- gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->drag_gesture),
- GTK_PHASE_CAPTURE);
g_signal_connect_swapped (priv->drag_gesture, "drag-begin",
G_CALLBACK (scrolled_window_drag_begin_cb),
scrolled_window);
@@ -760,16 +758,12 @@ gtk_scrolled_window_init (GtkScrolledWindow *scrolled_window)
priv->swipe_gesture = gtk_gesture_swipe_new (widget);
gtk_gesture_group (priv->swipe_gesture, priv->drag_gesture);
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (priv->swipe_gesture), 1);
- gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->swipe_gesture),
- GTK_PHASE_CAPTURE);
g_signal_connect_swapped (priv->swipe_gesture, "swipe",
G_CALLBACK (scrolled_window_swipe_cb),
scrolled_window);
priv->long_press_gesture = gtk_gesture_long_press_new (widget);
gtk_gesture_group (priv->long_press_gesture, priv->drag_gesture);
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (priv->long_press_gesture), 1);
- gtk_event_controller_set_propagation_phase (GTK_EVENT_CONTROLLER (priv->long_press_gesture),
- GTK_PHASE_CAPTURE);
g_signal_connect_swapped (priv->long_press_gesture, "pressed",
G_CALLBACK (scrolled_window_long_press_cb),
scrolled_window);
@@ -1253,21 +1247,15 @@ gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window,
if (priv->kinetic_scrolling)
{
- gtk_widget_add_controller (GTK_WIDGET (scrolled_window),
- GTK_EVENT_CONTROLLER (priv->drag_gesture));
- gtk_widget_add_controller (GTK_WIDGET (scrolled_window),
- GTK_EVENT_CONTROLLER (priv->swipe_gesture));
- gtk_widget_add_controller (GTK_WIDGET (scrolled_window),
- GTK_EVENT_CONTROLLER (priv->long_press_gesture));
+ gtk_gesture_attach (priv->drag_gesture, GTK_PHASE_CAPTURE);
+ gtk_gesture_attach (priv->swipe_gesture, GTK_PHASE_CAPTURE);
+ gtk_gesture_attach (priv->long_press_gesture, GTK_PHASE_CAPTURE);
}
else
{
- gtk_widget_remove_controller (GTK_WIDGET (scrolled_window),
- GTK_EVENT_CONTROLLER (priv->drag_gesture));
- gtk_widget_remove_controller (GTK_WIDGET (scrolled_window),
- GTK_EVENT_CONTROLLER (priv->swipe_gesture));
- gtk_widget_remove_controller (GTK_WIDGET (scrolled_window),
- GTK_EVENT_CONTROLLER (priv->long_press_gesture));
+ gtk_gesture_detach (priv->drag_gesture);
+ gtk_gesture_detach (priv->swipe_gesture);
+ gtk_gesture_detach (priv->long_press_gesture);
gtk_scrolled_window_cancel_deceleration (scrolled_window);
}