Range: Make down/up keys act like down/up scrolls
authorDaniel Boles <dboles@src.gnome.org>
Mon, 1 Jan 2018 14:31:56 +0000 (14:31 +0000)
committerDaniel Boles <dboles.src@gmail.com>
Wed, 18 Apr 2018 17:36:55 +0000 (18:36 +0100)
Before now, down/up keys on H Ranges would increase/decrease value resp,
which is unintuitive & worse, contradicts what we already do for scrolls

Fix simply by moving to the new should_invert_move() as scrolls just did
– which also gets us the other benefits explained in the last 2 commits.

https://bugzilla.gnome.org/show_bug.cgi?id=407242
https://bugzilla.gnome.org/show_bug.cgi?id=791802

gtk/gtkrange.c

index f064a1d99fabdf46854149922d4fe963bf2d298b..982293594162df184c097fb66232264261f70897 100644 (file)
@@ -2494,28 +2494,28 @@ gtk_range_scroll (GtkRange     *range,
   switch (scroll)
     {
     case GTK_SCROLL_STEP_LEFT:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_HORIZONTAL))
         step_forward (range);
       else
         step_back (range);
       break;
                     
     case GTK_SCROLL_STEP_UP:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_VERTICAL))
         step_forward (range);
       else
         step_back (range);
       break;
 
     case GTK_SCROLL_STEP_RIGHT:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_HORIZONTAL))
         step_back (range);
       else
         step_forward (range);
       break;
                     
     case GTK_SCROLL_STEP_DOWN:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_VERTICAL))
         step_back (range);
       else
         step_forward (range);
@@ -2530,28 +2530,28 @@ gtk_range_scroll (GtkRange     *range,
       break;
 
     case GTK_SCROLL_PAGE_LEFT:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_HORIZONTAL))
         page_forward (range);
       else
         page_back (range);
       break;
                     
     case GTK_SCROLL_PAGE_UP:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_VERTICAL))
         page_forward (range);
       else
         page_back (range);
       break;
 
     case GTK_SCROLL_PAGE_RIGHT:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_HORIZONTAL))
         page_back (range);
       else
         page_forward (range);
       break;
                     
     case GTK_SCROLL_PAGE_DOWN:
-      if (should_invert (range))
+      if (should_invert_move (range, GTK_ORIENTATION_VERTICAL))
         page_back (range);
       else
         page_forward (range);