diff options
Diffstat (limited to 'stock.py')
-rw-r--r-- | stock.py | 54 |
1 files changed, 27 insertions, 27 deletions
@@ -17,50 +17,49 @@ import logging logger = logging.getLogger('stock') -import gtk - -icon_factory = gtk.IconFactory() +from gi.repository import Gtk +from gi.repository import Gdk +icon_factory = Gtk.IconFactory() stock_items = {} def register(name, label, accelerator, icon_name): if icon_name: - icon_source = gtk.IconSource() + icon_source = Gtk.IconSource() icon_source.set_icon_name(icon_name) - icon = gtk.IconSet() + icon = Gtk.IconSet() icon.add_source(icon_source) icon_factory.add(name, icon) icon_factory.add_default() - iconset = gtk.icon_factory_lookup_default(name) - + iconset = Gtk.IconFactory.lookup_default(name) stock_items[name] = {'label': label, 'accelerator': accelerator, 'has_icon': iconset or None} def overwrite_stock(stock_id, new_accelerator): - info = list(gtk.stock_lookup(stock_id)) - keyval, mask = gtk.accelerator_parse(new_accelerator) - info[2] = mask - info[3] = keyval + info = Gtk.stock_lookup(stock_id) + keyval, mask = Gtk.accelerator_parse(new_accelerator) + info.modifier = mask + info.keyval = keyval logger.debug(str(info)) - gtk.stock_add([(info[0], info[1], info[2], info[3], info[4])]) + Gtk.stock_add([info]) # Here we overwrite the key accelerators for some stock ids. # Feel free to add here any other stock id if you need it at your activity, # and send us a patch. -overwrite_stock(gtk.STOCK_SAVE_AS, '<Shift><Ctrl>S') -overwrite_stock(gtk.STOCK_ZOOM_IN, '<Ctrl>plus') -overwrite_stock(gtk.STOCK_ZOOM_OUT, '<Ctrl>minus') -overwrite_stock(gtk.STOCK_ZOOM_100, '<Ctrl>0') +overwrite_stock(Gtk.STOCK_SAVE_AS, '<Shift><Ctrl>S') +overwrite_stock(Gtk.STOCK_ZOOM_IN, '<Ctrl>plus') +overwrite_stock(Gtk.STOCK_ZOOM_OUT, '<Ctrl>minus') +overwrite_stock(Gtk.STOCK_ZOOM_100, '<Ctrl>0') # Key accelerator will be F11 on desktops and <Alt>return on Sugar. -overwrite_stock(gtk.STOCK_FULLSCREEN, 'F11') -overwrite_stock(gtk.STOCK_ADD, '<Ctrl>A') -overwrite_stock(gtk.STOCK_REMOVE, '<Shift>Delete') -overwrite_stock(gtk.STOCK_SELECT_COLOR, '<Ctrl>L') +overwrite_stock(Gtk.STOCK_FULLSCREEN, 'F11') +overwrite_stock(Gtk.STOCK_ADD, '<Ctrl>A') +overwrite_stock(Gtk.STOCK_REMOVE, '<Shift>Delete') +overwrite_stock(Gtk.STOCK_SELECT_COLOR, '<Ctrl>L') def get_label(stock, underline=True): @@ -72,16 +71,17 @@ def get_label(stock, underline=True): def get_accelerator(stock): accelerator = stock_items[stock]['accelerator'] - return gtk.accelerator_parse(accelerator) if accelerator is not None \ - else (0, 0) + return Gtk.accelerator_parse(accelerator) if accelerator is not None \ + else (0, Gdk.ModifierType(0)) -for i in gtk.stock_list_ids(): +for i in Gtk.stock_list_ids(): # I am very noisy # logger.debug(i) - info = gtk.stock_lookup(i) - iconset = gtk.icon_factory_lookup_default(i) + info = Gtk.stock_lookup(i) + iconset = Gtk.IconFactory.lookup_default(i) if info is not None: - stock_items[i] = {'label': info[1], - 'accelerator': gtk.accelerator_name(info[3], info[2]), + stock_items[i] = {'label': info.label, + 'accelerator': Gtk.accelerator_name(info.keyval, + info.modifier), 'has_icon': iconset or None} |