diff options
Diffstat (limited to 'desktop/sweetener')
-rw-r--r-- | desktop/sweetener/basic_options.py | 13 | ||||
-rw-r--r-- | desktop/sweetener/item.py | 23 | ||||
-rw-r--r-- | desktop/sweetener/itembox.py | 12 | ||||
-rw-r--r-- | desktop/sweetener/itemgroup.py | 25 | ||||
-rw-r--r-- | desktop/sweetener/stock.py | 50 |
5 files changed, 67 insertions, 56 deletions
diff --git a/desktop/sweetener/basic_options.py b/desktop/sweetener/basic_options.py index 83636e1..44869fe 100644 --- a/desktop/sweetener/basic_options.py +++ b/desktop/sweetener/basic_options.py @@ -20,7 +20,7 @@ See class BasicOptions. # MA 02110-1301, USA. from gettext import gettext as _ -import gtk +from gi.repository import Gtk import stock from item import Item @@ -42,19 +42,20 @@ class BasicOptions(ItemGroup): ItemGroup.__init__(self, box, _('_File'), None) if activity.save_type != CONFIG: - new = Item(gtk.STOCK_NEW, True) + new = Item(Gtk.STOCK_NEW, True) new.connect('activate', lambda w: activity.new()) self.append_item(new) - _open = Item(gtk.STOCK_OPEN, True) + _open = Item(Gtk.STOCK_OPEN, True) _open.connect('activate', lambda w: activity.open()) self.append_item(_open) self.append_separator() - save_option = Item(gtk.STOCK_SAVE, True) + save_option = Item(Gtk.STOCK_SAVE, True) save_option.connect('activate', lambda w: activity.save()) self.append_item(save_option) - save_as_option = Item(gtk.STOCK_SAVE_AS) + save_as_option = Item(Gtk.STOCK_SAVE_AS) save_as_option.connect('activate', lambda w: activity.save_as()) self.append_item(save_as_option) + self.append_separator() if export_formats != None: if len(export_formats) == 1: stock.register('sweetener-%s' % export_formats[0][1], @@ -66,6 +67,6 @@ class BasicOptions(ItemGroup): export_formats[0]) self.append_item(export) self.append_separator() - _quit = Item(gtk.STOCK_QUIT) + _quit = Item(Gtk.STOCK_QUIT) _quit.connect('activate', lambda w: activity.stop()) self.append_item(_quit) diff --git a/desktop/sweetener/item.py b/desktop/sweetener/item.py index 1b5fc8e..80a2984 100644 --- a/desktop/sweetener/item.py +++ b/desktop/sweetener/item.py @@ -21,21 +21,21 @@ import logging logger = logging.getLogger('option') -import gobject -import gtk +from gi.repository import GObject +from gi.repository import Gtk import stock -class Item(gobject.GObject): - __gsignals__ = {'activate': (gobject.SIGNAL_RUN_LAST, - gobject.TYPE_NONE, +class Item(GObject.GObject): + __gsignals__ = {'activate': (GObject.SignalFlags.RUN_LAST, + None, tuple())} menuitem = None toolitem = None def __init__(self, stock_id=None, important=False): - gobject.GObject.__init__(self) + GObject.GObject.__init__(self) self._stock_id = stock_id self.accel_group = None self.important = important @@ -52,9 +52,10 @@ class Item(gobject.GObject): stock_id = property(get_stock_id, set_stock_id) def get_menu_item(self): - self.menuitem = gtk.ImageMenuItem(self._stock_id) + self.menuitem = Gtk.ImageMenuItem.new_from_stock(self._stock_id, + self.accel_group) self.menuitem.connect('activate', self.activate_cb) - self.setup_accelerator() + #self.setup_accelerator() return self.menuitem def activate_cb(self, widget): @@ -66,10 +67,10 @@ class Item(gobject.GObject): if accelerator[1] > 0: self.menuitem.add_accelerator('activate', self.accel_group, accelerator[1], accelerator[0], - gtk.ACCEL_VISIBLE) + Gtk.AccelFlags.VISIBLE) def get_tool_item(self): - self.toolitem = gtk.ToolButton(self._stock_id) + self.toolitem = Gtk.ToolButton(self._stock_id) self.toolitem.connect('clicked', self.activate_cb) self.setup_tooltip() return self.toolitem @@ -78,7 +79,7 @@ class Item(gobject.GObject): if self.tooltip: self.toolitem.set_tooltip_text(self.tooltip) else: - text = gtk.stock_lookup(self.stock_id)[1] + text = Gtk.stock_lookup(self.stock_id).label self.toolitem.set_tooltip_text(text.replace('_', '')) def emit_signal(self, widget, signal_name): diff --git a/desktop/sweetener/itembox.py b/desktop/sweetener/itembox.py index b7ff60d..088996d 100644 --- a/desktop/sweetener/itembox.py +++ b/desktop/sweetener/itembox.py @@ -18,16 +18,16 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. -import gtk +from gi.repository import GObject +from gi.repository import Gtk -class ItemBox(gtk.VBox): +class ItemBox(Gtk.VBox): def __init__(self, activity): - gtk.VBox.__init__(self) + GObject.GObject.__init__(self) self._parent = activity - self.menubar = gtk.MenuBar() - self.toolbar = gtk.Toolbar() + self.menubar = Gtk.MenuBar() + self.toolbar = Gtk.Toolbar() self.pack_start(self.menubar, False, True, 0) self.pack_start(self.toolbar, False, True, 0) self.menubar.show() - self.toolbar.show() diff --git a/desktop/sweetener/itemgroup.py b/desktop/sweetener/itemgroup.py index 3e4780e..16ac46c 100644 --- a/desktop/sweetener/itemgroup.py +++ b/desktop/sweetener/itemgroup.py @@ -18,18 +18,18 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. -import gobject -import gtk +from gi.repository import GObject +from gi.repository import Gtk -class ItemGroup(gobject.GObject): +class ItemGroup(GObject.GObject): def __init__(self, box, name=None, icon=None): - gobject.GObject.__init__(self) + GObject.GObject.__init__(self) self.items = [] self.first_important = True - self.item = gtk.MenuItem(name) + self.item = Gtk.MenuItem.new_with_mnemonic(name) box.menubar.append(self.item) - self.menu = gtk.Menu() + self.menu = Gtk.Menu() self.item.set_submenu(self.menu) self.menu.show() self.item.show() @@ -44,9 +44,10 @@ class ItemGroup(gobject.GObject): self.menu.append(menuitem) if item.important: if self.first_important and len(self.toolbar): - separator = gtk.SeparatorToolItem() + separator = Gtk.SeparatorToolItem() separator.show() self.toolbar.insert(separator, -1) + self.toolbar.show() self.first_important = False tool_item = item.get_tool_item() self.toolbar.insert(tool_item, -1) @@ -54,11 +55,11 @@ class ItemGroup(gobject.GObject): self.items.append(item) def append_separator(self, important=False): - menuitem = gtk.SeparatorMenuItem() + menuitem = Gtk.SeparatorMenuItem() menuitem.show() self.menu.append(menuitem) if important: - toolitem = gtk.SeparatorToolItem() + toolitem = Gtk.SeparatorToolItem() toolitem.show() self.toolbar.insert(toolitem, -1) return toolitem @@ -72,11 +73,11 @@ class GhostGroup(ItemGroup): class SubGroup(ItemGroup): def __init__(self, group, name=None): - gobject.GObject.__init__(self) + GObject.GObject.__init__(self) self.items = [] - self.item = gtk.MenuItem(name) + self.item = Gtk.MenuItem(name) group.menu.append(self.item) - self.menu = gtk.Menu() + self.menu = Gtk.Menu() self.item.set_submenu(self.menu) self.menu.show() self.item.show() diff --git a/desktop/sweetener/stock.py b/desktop/sweetener/stock.py index 4f3b213..b92666d 100644 --- a/desktop/sweetener/stock.py +++ b/desktop/sweetener/stock.py @@ -20,9 +20,9 @@ import logging logger = logging.getLogger('stock') -import gtk +from gi.repository import Gtk -icon_factory = gtk.IconFactory() +icon_factory = Gtk.IconFactory() def register(name, label, accelerator, icon_name): @@ -30,46 +30,54 @@ def register(name, label, accelerator, icon_name): keyval = 0 mask = 0 else: - keyval, mask = gtk.accelerator_parse(accelerator) - gtk.stock_add([(name, label, mask, keyval, '')]) + keyval, mask = Gtk.accelerator_parse(accelerator) + logger.debug(keyval) + logger.debug(mask) + item = Gtk.StockItem.new() + item.stock_id = name + item.label = label + item.modifier = mask + item.keyval = keyval + Gtk.stock_add([item]) 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() 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): - text = gtk.stock_lookup(stock)[1] + text = Gtk.stock_lookup(stock)[1] if underline: text = text.replace('_', '') return text def get_accelerator(stock): - return gtk.stock_lookup(stock)[2:-1] + stock_id = Gtk.stock_lookup(stock) + return stock_id.modifier, stock_id.keyval |