[Sugar-devel] [sugar-toolkit-gtk3] Make icon_name api consistent between the different toolbuttons
Simon Schampijer
simon at schampijer.de
Thu Sep 20 03:15:58 EDT 2012
Thanks for the patch. I did change the method name to set_icon_name to
clearly overwrite that. Otherwise you would have been still able to do
"button.set_icon" and "button.set_icon_name".
Pushed with these changes,
Simon
On 09/19/2012 10:25 PM, godiard at sugarlabs.org wrote:
> From: Gonzalo Odiard <godiard at 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 <gonzalo at 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
>
>
More information about the Sugar-devel
mailing list