diff options
author | Matthias Clasen <mclasen@redhat.com> | 2015-01-09 21:09:22 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2015-01-09 21:15:06 -0500 |
commit | 11eb64a2b69f02d916d0448065a5108ad106f30c (patch) | |
tree | 490e099d350e8a7e1ab66285fee75bca70aaba50 /gtk | |
parent | 2a3a7306ef1d6be2a1bc167551fc726ee9fb1329 (diff) | |
download | gtk+-11eb64a2b69f02d916d0448065a5108ad106f30c.tar.gz |
GtkScrolledWindow: Don't require proximity for track points
These are hard to navigate precisely, so show wide scrollbars
right away.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkscrolledwindow.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 9c709bcd41..f4e85fd990 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -440,7 +440,7 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class) class->scroll_child = gtk_scrolled_window_scroll_child; class->move_focus_out = gtk_scrolled_window_move_focus_out; - + g_object_class_install_property (gobject_class, PROP_HADJUSTMENT, g_param_spec_object ("hadjustment", @@ -1040,7 +1040,6 @@ captured_event_cb (GtkWidget *widget, GtkScrolledWindow *sw; GdkInputSource input_source; GdkDevice *source_device; - gboolean indicator_close; sw = GTK_SCROLLED_WINDOW (widget); priv = sw->priv; @@ -1064,17 +1063,18 @@ captured_event_cb (GtkWidget *widget, indicator_start_fade (&priv->hindicator, 1.0); indicator_start_fade (&priv->vindicator, 1.0); - /* Check whether we're hovering close to the vertical scrollbar */ - indicator_close = check_update_scrollbar_proximity (sw, &priv->vindicator, - event); - - if (!indicator_close) + if (strstr (gdk_device_get_name (source_device), "TrackPoint")) { - /* Otherwise check the horizontal scrollbar */ - check_update_scrollbar_proximity (sw, &priv->hindicator, event); + indicator_set_over (&priv->hindicator, TRUE); + indicator_set_over (&priv->vindicator, TRUE); } else - indicator_set_over (&priv->hindicator, FALSE); + { + if (!check_update_scrollbar_proximity (sw, &priv->vindicator, event)) + check_update_scrollbar_proximity (sw, &priv->hindicator, event); + else + indicator_set_over (&priv->hindicator, FALSE); + } } else if (event->type == GDK_LEAVE_NOTIFY && event->crossing.mode == GDK_CROSSING_UNGRAB) |