From 432beea74bcf1b813c0a2153c8acc1bea35cc150 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 18 Aug 2011 20:32:27 +0200 Subject: Add shortcut to the GUI --- mat-gui | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/mat-gui b/mat-gui index d85ddc9..1d588fe 100755 --- a/mat-gui +++ b/mat-gui @@ -142,11 +142,15 @@ data loss')) tips.add_view(treeview) treeview.append_column(column) - def create_menu_item(self, name, func, menu, pix): + def create_menu_item(self, name, func, menu, pix, shortcut): ''' Create a MenuItem() like Preferences, Quit, Add, Clean, ... ''' item = gtk.ImageMenuItem() + if shortcut : + key, mod = gtk.accelerator_parse(shortcut) + item.add_accelerator('activate', self.accelerator, + key, mod, gtk.ACCEL_VISIBLE) picture = gtk.Image() picture.set_from_stock(pix, gtk.ICON_SIZE_MENU) item.set_image(picture) @@ -173,18 +177,22 @@ data loss')) file_menu = self.create_sub_menu(_('Files'), menubar) self.create_menu_item(_('Add files'), self.add_files, file_menu, - gtk.STOCK_ADD) + gtk.STOCK_ADD, 'O') self.create_menu_item(_('Quit'), gtk.main_quit, file_menu, - gtk.STOCK_QUIT) + gtk.STOCK_QUIT, 'Q') edit_menu = self.create_sub_menu(_('Edit'), menubar) self.create_menu_item(_('Clear the filelist'), - lambda x: self.liststore.clear(), edit_menu, gtk.STOCK_REMOVE) + lambda x: self.liststore.clear(), edit_menu, gtk.STOCK_REMOVE, + 'L') self.create_menu_item(_('Preferences'), self.preferences, edit_menu, - gtk.STOCK_PREFERENCES) + gtk.STOCK_PREFERENCES, 'P') process_menu = self.create_sub_menu(_('Process'), menubar) item = gtk.ImageMenuItem() + key, mod = gtk.accelerator_parse('L') + item.add_accelerator('activate', self.accelerator, + key, mod, gtk.ACCEL_VISIBLE) picture = gtk.Image() picture.set_from_stock(gtk.STOCK_PRINT_REPORT, gtk.ICON_SIZE_MENU) item.set_image(picture) @@ -193,6 +201,9 @@ data loss')) process_menu.append(item) item = gtk.ImageMenuItem() + key, mod = gtk.accelerator_parse('S') + item.add_accelerator('activate', self.accelerator, + key, mod, gtk.ACCEL_VISIBLE) picture = gtk.Image() picture.set_from_stock(gtk.STOCK_PRINT_WARNING, gtk.ICON_SIZE_MENU) item.set_image(picture) @@ -201,6 +212,9 @@ data loss')) process_menu.append(item) item = gtk.ImageMenuItem() + key, mod = gtk.accelerator_parse('h') + item.add_accelerator('activate', self.accelerator, + key, mod, gtk.ACCEL_VISIBLE) picture = gtk.Image() picture.set_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_MENU) item.set_image(picture) @@ -211,8 +225,9 @@ data loss')) help_menu = self.create_sub_menu(_('Help'), menubar) self.create_menu_item(_('Supported formats'), self.supported, help_menu, - gtk.STOCK_INFO) - self.create_menu_item(_('About'), self.about, help_menu, gtk.STOCK_ABOUT) + gtk.STOCK_INFO, False) + self.create_menu_item(_('About'), self.about, help_menu, + gtk.STOCK_ABOUT, False) return menubar -- cgit v1.3