[gnome-boxes] properties: Alt+Left/Right to switch pages



commit 733bc6211c3b5cc1cb87442b45c6a970c5301363
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Fri Aug 7 13:44:24 2015 +0100

    properties: Alt+Left/Right to switch pages
    
    Allow quickly switching from page to page with Alt+Left and Alt+Right
    keyboard combos. It was already possible to do this with just Left and
    Right keys but only if page labels were focused. These new combos,
    however are completely independent of current focus.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=731971

 src/properties.vala |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/src/properties.vala b/src/properties.vala
index 712de4e..25f203d 100644
--- a/src/properties.vala
+++ b/src/properties.vala
@@ -53,6 +53,7 @@ private class Boxes.Properties: Gtk.Notebook, Boxes.UI {
 
     public void setup_ui (AppWindow window, PropertiesWindow dialog) {
         this.window = window;
+        key_press_event.connect (on_key_pressed);
 
         show_all ();
     }
@@ -90,4 +91,23 @@ private class Boxes.Properties: Gtk.Notebook, Boxes.UI {
             }
         }
     }
+
+    private bool on_key_pressed (Widget widget, Gdk.EventKey event) {
+        var default_modifiers = Gtk.accelerator_get_default_mod_mask ();
+
+        if (event.keyval == Gdk.Key.Left && // ALT + Left -> Prev page
+            (event.state & default_modifiers) == Gdk.ModifierType.MOD1_MASK) {
+            if (page > PropertiesPage.GENERAL)
+                page = page - 1;
+            return true;
+        } else if (event.keyval == Gdk.Key.Right && // ALT + Right -> Next page
+            (event.state & default_modifiers) == Gdk.ModifierType.MOD1_MASK) {
+            if (page < PropertiesPage.LAST)
+                page = page + 1;
+            return true;
+        }
+
+        return false;
+    }
+
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]