[pitivi] mainwindow: Allow pressing F10 for opening the app menu



commit cc57b5df8aa19e26c9af7eb099b2f76d525a4193
Author: Alexandru Băluț <alexandru balut gmail com>
Date:   Sat Feb 1 03:53:16 2014 +0100

    mainwindow: Allow pressing F10 for opening the app menu

 pitivi/mainwindow.py |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/pitivi/mainwindow.py b/pitivi/mainwindow.py
index da15ab6..d70ad64 100644
--- a/pitivi/mainwindow.py
+++ b/pitivi/mainwindow.py
@@ -241,12 +241,12 @@ class PitiviMainWindow(Gtk.Window, Loggable):
         builder = Gtk.Builder()
         builder.add_from_file(os.path.join(get_ui_dir(), "mainmenubutton.ui"))
         builder.connect_signals(self)
-        menubutton = builder.get_object("menubutton")
+        self._menubutton = builder.get_object("menubutton")
         self._menubutton_items = {}
         for widget in builder.get_object("menu").get_children():
             self._menubutton_items[Gtk.Buildable.get_name(widget)] = widget
 
-        self._headerbar.pack_end(menubutton)
+        self._headerbar.pack_end(self._menubutton)
         self._headerbar.set_show_close_button(True)
         self._headerbar.show_all()
         self.set_titlebar(self._headerbar)
@@ -307,7 +307,7 @@ class PitiviMainWindow(Gtk.Window, Loggable):
         # These will show up in sniff, accerciser, etc.
         self.get_accessible().set_name("main window")
         self._headerbar.get_accessible().set_name("headerbar")
-        menubutton.get_accessible().set_name("main menu button")
+        self._menubutton.get_accessible().set_name("main menu button")
         self.vpaned.get_accessible().set_name("contents")
         self.mainhpaned.get_accessible().set_name("upper half")
         self.secondhpaned.get_accessible().set_name("tabs")
@@ -417,6 +417,16 @@ class PitiviMainWindow(Gtk.Window, Loggable):
         self.__set_accelerator(self.redo_button, Gdk.KEY_z, ctrl | shift)
         self.__set_accelerator(self.save_button, Gdk.KEY_s, ctrl)
 
+        def closeCb(unused_accel_group, unused_widget, unused_key, unused_mods):
+            self.close()
+
+        def menuCb(unused_accel_group, unused_widget, unused_key, unused_mods):
+            self._menubutton.set_active(not self._menubutton.get_active())
+
+        accel_group = self.uimanager.get_accel_group()
+        accel_group.connect(Gdk.KEY_q, ctrl, Gtk.AccelFlags.VISIBLE, closeCb)
+        accel_group.connect(Gdk.KEY_F10, 0, Gtk.AccelFlags.VISIBLE, menuCb)
+
     def __set_accelerator(self, widget, key, mods=0, flags=Gtk.AccelFlags.VISIBLE):
         """
         Convenience function to deal with the madness of widget.add_accelerator


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