[gnome-boxes] app-window: Add Ctrl+N shortcut



commit 433c8af29cd07dbd3179194d8b9684a9a4b7fc66
Author: Lasse Schuirmann <lasse schuirmann gmail com>
Date:   Fri Aug 15 22:04:00 2014 +0200

    app-window: Add Ctrl+N shortcut
    
    Ctrl+N is a common shortcut for creating new things. Lets support it for
    creating a new VM.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=733816

 src/app-window.vala         |    5 +++++
 src/collection-toolbar.vala |    4 ++++
 src/topbar.vala             |    5 +++++
 3 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/src/app-window.vala b/src/app-window.vala
index e131fca..80375ed 100644
--- a/src/app-window.vala
+++ b/src/app-window.vala
@@ -261,6 +261,11 @@ private class Boxes.AppWindow: Gtk.ApplicationWindow, Boxes.UI {
             App.app.quit_app ();
 
             return true;
+        } else if (event.keyval == Gdk.Key.n &&
+                   (event.state & default_modifiers) == Gdk.ModifierType.CONTROL_MASK) {
+            topbar.click_new_button ();
+
+            return true;
         } else if (event.keyval == Gdk.Key.a &&
                    (event.state & default_modifiers) == Gdk.ModifierType.MOD1_MASK) {
             App.app.quit_app ();
diff --git a/src/collection-toolbar.vala b/src/collection-toolbar.vala
index ddb7e17..b49fdd7 100644
--- a/src/collection-toolbar.vala
+++ b/src/collection-toolbar.vala
@@ -43,6 +43,10 @@ private class Boxes.CollectionToolbar: HeaderBar {
         back_btn.clicked ();
     }
 
+    public void click_new_button () {
+        new_btn.clicked ();
+    }
+
     [GtkCallback]
     private void on_new_btn_clicked () {
         window.set_state (UIState.WIZARD);
diff --git a/src/topbar.vala b/src/topbar.vala
index 9655ef9..2d8aa59 100644
--- a/src/topbar.vala
+++ b/src/topbar.vala
@@ -62,6 +62,11 @@ private class Boxes.Topbar: Gtk.Stack, Boxes.UI {
         }
     }
 
+    public void click_new_button () {
+        if (window.ui_state == UIState.COLLECTION)
+            collection_toolbar.click_new_button ();
+    }
+
     public string? _status;
     public string? status {
         get { return _status; }


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