[gtk+] scrolledwindow: Deny scrolling sequences if pressed on the scrollbars
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] scrolledwindow: Deny scrolling sequences if pressed on the scrollbars
- Date: Thu, 12 Jun 2014 13:20:31 +0000 (UTC)
commit 3b636cbeb99f23214aec8e26c194d2998ebb9da2
Author: Carlos Garnacho <carlosg gnome org>
Date: Thu Jun 12 15:17:47 2014 +0200
scrolledwindow: Deny scrolling sequences if pressed on the scrollbars
Scrollbars might be a bit too narrow for touch (and generally less useful
besides kinetic scrolling), but those should be functional nevertheless.
gtk/gtkscrolledwindow.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 66c9de6..87d3008 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -578,20 +578,26 @@ scrolled_window_drag_begin_cb (GtkScrolledWindow *scrolled_window,
GtkScrolledWindowPrivate *priv = scrolled_window->priv;
GtkEventSequenceState state;
GdkEventSequence *sequence;
+ GtkWidget *event_widget;
+ const GdkEvent *event;
priv->in_drag = FALSE;
priv->drag_start_x = priv->unclamped_hadj_value;
priv->drag_start_y = priv->unclamped_vadj_value;
gtk_scrolled_window_cancel_deceleration (scrolled_window);
+ sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
+ event = gtk_gesture_get_last_event (gesture, sequence);
+ event_widget = gtk_get_event_widget ((GdkEvent *) event);
- if (!priv->hscrollbar_visible && !priv->vscrollbar_visible)
+ if (event_widget == priv->vscrollbar ||
+ event_widget == priv->hscrollbar ||
+ (!priv->hscrollbar_visible && !priv->vscrollbar_visible))
state = GTK_EVENT_SEQUENCE_DENIED;
else if (priv->capture_button_press)
state = GTK_EVENT_SEQUENCE_CLAIMED;
else
return;
- sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
gtk_gesture_set_sequence_state (gesture, sequence, state);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]