diff options
Diffstat (limited to 'sugar')
-rw-r--r-- | sugar/sweetener/basic_options.py | 2 | ||||
-rw-r--r-- | sugar/sweetener/item.py | 20 | ||||
-rw-r--r-- | sugar/sweetener/itembox.py | 8 | ||||
-rw-r--r-- | sugar/sweetener/stock.py | 51 |
4 files changed, 45 insertions, 36 deletions
diff --git a/sugar/sweetener/basic_options.py b/sugar/sweetener/basic_options.py index 52f4ebd..0f5d579 100644 --- a/sugar/sweetener/basic_options.py +++ b/sugar/sweetener/basic_options.py @@ -19,7 +19,7 @@ from gettext import gettext as _ -from sugar.activity.widgets import ActivityToolbarButton +from sugar3.activity.widgets import ActivityToolbarButton import stock from item import Item diff --git a/sugar/sweetener/item.py b/sugar/sweetener/item.py index 291204a..8371aaf 100644 --- a/sugar/sweetener/item.py +++ b/sugar/sweetener/item.py @@ -21,21 +21,21 @@ import logging logger = logging.getLogger('option') -import gobject -import gtk -from sugar.graphics.toolbutton import ToolButton +from gi.repository import GObject +from gi.repository import Gtk +from sugar3.graphics.toolbutton import ToolButton 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())} toolitem = None - def __init__(self, stock_id=gtk.STOCK_CLEAR, important=False): - gobject.GObject.__init__(self) + def __init__(self, stock_id=Gtk.STOCK_CLEAR, important=False): + GObject.GObject.__init__(self) self._stock_id = stock_id self.accel_group = None self.important = important @@ -62,7 +62,7 @@ class Item(gobject.GObject): logger.debug(str(accelerator)) try: if accelerator[1] > 0: - self.toolitem.props.accelerator = gtk.accelerator_name( + self.toolitem.props.accelerator = Gtk.accelerator_name( accelerator[1], accelerator[0]) except: logger.error( @@ -82,6 +82,6 @@ class Item(gobject.GObject): if self.tooltip: self.toolitem.set_tooltip(self.tooltip) else: - text = gtk.stock_lookup(self._stock_id)[1] + text = Gtk.stock_lookup(self._stock_id)[1] self.toolitem.set_tooltip(text.replace('_', '')) self.setup_accelerator() diff --git a/sugar/sweetener/itembox.py b/sugar/sweetener/itembox.py index d861c52..99c45bd 100644 --- a/sugar/sweetener/itembox.py +++ b/sugar/sweetener/itembox.py @@ -17,16 +17,16 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. -import gtk -from sugar.graphics.toolbarbox import ToolbarBox -from sugar.activity.widgets import StopButton +from gi.repository import Gtk +from sugar3.graphics.toolbarbox import ToolbarBox +from sugar3.activity.widgets import StopButton class ItemBox(ToolbarBox): def __init__(self, activity): ToolbarBox.__init__(self) self._parent = activity - separator = gtk.SeparatorToolItem() + separator = Gtk.SeparatorToolItem() separator.set_draw(False) separator.set_expand(True) separator.show() diff --git a/sugar/sweetener/stock.py b/sugar/sweetener/stock.py index a6451a7..28f3956 100644 --- a/sugar/sweetener/stock.py +++ b/sugar/sweetener/stock.py @@ -19,12 +19,12 @@ import logging logger = logging.getLogger('stock') -import gtk +from gi.repository import Gtk -icon_factory = gtk.IconFactory() +icon_factory = Gtk.IconFactory() # Set the icon name for the stock items, this is used only in Sugar. -icons = {gtk.STOCK_ADD: 'list-add'} +icons = {Gtk.STOCK_ADD: 'list-add'} def register(name, label, accelerator, icon_name): @@ -32,12 +32,19 @@ 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() @@ -45,33 +52,35 @@ def register(name, label, accelerator, icon_name): 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_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, '<Alt>Return') -overwrite_stock(gtk.STOCK_ADD, '<Ctrl>A') -overwrite_stock(gtk.STOCK_REMOVE, '<Ctrl>R') -overwrite_stock(gtk.STOCK_SELECT_COLOR, '<Ctrl>L') +overwrite_stock(Gtk.STOCK_FULLSCREEN, '<Alt>Return') +overwrite_stock(Gtk.STOCK_ADD, '<Ctrl>A') +overwrite_stock(Gtk.STOCK_REMOVE, '<Ctrl>R') +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 |