From: Gonzalo Odiard <godi...@gmail.com> As discused in the mailing list [1] the api to set the icon in sugar ToolButton, RadioToolButton and ToggleToolButton is inconsistent, and with the port to gtk3 differences are visible as a wrong size (SL #3849)
Signed-off-by: Gonzalo Odiard <gonz...@laptop.org> [1] http://lists.sugarlabs.org/archive/sugar-devel/2012-September/039624.html --- src/sugar3/graphics/radiotoolbutton.py | 20 +++++++------------- src/sugar3/graphics/toggletoolbutton.py | 11 +++++++---- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/sugar3/graphics/radiotoolbutton.py b/src/sugar3/graphics/radiotoolbutton.py index 006d167..290e7c2 100644 --- a/src/sugar3/graphics/radiotoolbutton.py +++ b/src/sugar3/graphics/radiotoolbutton.py @@ -36,7 +36,7 @@ class RadioToolButton(Gtk.RadioToolButton): __gtype_name__ = 'SugarRadioToolButton' - def __init__(self, **kwargs): + def __init__(self, icon_name=None, **kwargs): self._accelerator = None self._tooltip = None self._xo_color = None @@ -45,6 +45,8 @@ class RadioToolButton(Gtk.RadioToolButton): GObject.GObject.__init__(self, **kwargs) self._palette_invoker.attach_tool(self) + if icon_name: + self.set_icon(icon_name) self.connect('destroy', self.__destroy_cb) @@ -115,21 +117,13 @@ class RadioToolButton(Gtk.RadioToolButton): accelerator = GObject.property(type=str, setter=set_accelerator, getter=get_accelerator) - def set_named_icon(self, named_icon): - icon = Icon(icon_name=named_icon, - xo_color=self._xo_color, - icon_size=Gtk.IconSize.LARGE_TOOLBAR) + def set_icon(self, icon_name): + icon = Icon(icon_name=icon_name, + xo_color=self._xo_color) self.set_icon_widget(icon) icon.show() - def get_named_icon(self): - if self.props.icon_widget is not None: - return self.props.icon_widget.props.icon_name - else: - return None - - named_icon = GObject.property(type=str, setter=set_named_icon, - getter=get_named_icon) + icon_name = GObject.property(type=str, setter=set_icon) def set_xo_color(self, xo_color): if self._xo_color != xo_color: diff --git a/src/sugar3/graphics/toggletoolbutton.py b/src/sugar3/graphics/toggletoolbutton.py index 56d461d..39ba0c8 100644 --- a/src/sugar3/graphics/toggletoolbutton.py +++ b/src/sugar3/graphics/toggletoolbutton.py @@ -30,11 +30,12 @@ class ToggleToolButton(Gtk.ToggleToolButton): __gtype_name__ = 'SugarToggleToolButton' - def __init__(self, named_icon=None): + def __init__(self, icon_name=None): GObject.GObject.__init__(self) self._palette_invoker = ToolInvoker(self) - self.set_named_icon(named_icon) + if icon_name: + self.set_icon(icon_name) self.connect('destroy', self.__destroy_cb) @@ -42,11 +43,13 @@ class ToggleToolButton(Gtk.ToggleToolButton): if self._palette_invoker is not None: self._palette_invoker.detach() - def set_named_icon(self, named_icon): - icon = Icon(icon_name=named_icon) + def set_icon(self, icon_name): + icon = Icon(icon_name=icon_name) self.set_icon_widget(icon) icon.show() + icon_name = GObject.property(type=str, setter=set_icon) + def create_palette(self): return None -- 1.7.11.4 _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel