diff --git a/NEWS b/NEWS index 2f52186f..dbab7cc2 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,4 @@ +* Handle the passing of the child of the toolitem to the WidgetInvoker in ToolInvoker, FrameWidgetInvoker (erikos) * #3293 Fix that several palettes are not hooked up to the same button (erikos) * #3514 Remove invite when the activiy disappear from the mesh. (cassidy) * #3003 Make image drags on the clipboard work consistently. (marco) diff --git a/shell/view/frame/frameinvoker.py b/shell/view/frame/frameinvoker.py index 2b416552..07dc9d82 100644 --- a/shell/view/frame/frameinvoker.py +++ b/shell/view/frame/frameinvoker.py @@ -33,7 +33,7 @@ def _get_screen_area(): class FrameWidgetInvoker(WidgetInvoker): def __init__(self, widget): - WidgetInvoker.__init__(self, widget) + WidgetInvoker.__init__(self, widget.child) self._position_hint = self.ANCHORED self._screen_area = _get_screen_area() diff --git a/sugar/graphics/palette.py b/sugar/graphics/palette.py index acc14f74..3873d384 100644 --- a/sugar/graphics/palette.py +++ b/sugar/graphics/palette.py @@ -668,6 +668,9 @@ class CanvasInvoker(Invoker): return hippo.get_canvas_for_item(self._item).get_toplevel() class ToolInvoker(WidgetInvoker): + def __init__(self, widget): + WidgetInvoker.__init__(self, widget.child) + def _get_alignments(self): parent = self._widget.get_parent() if parent is None: diff --git a/sugar/graphics/radiotoolbutton.py b/sugar/graphics/radiotoolbutton.py index 8a1399a0..cb4ae255 100644 --- a/sugar/graphics/radiotoolbutton.py +++ b/sugar/graphics/radiotoolbutton.py @@ -44,7 +44,7 @@ class RadioToolButton(gtk.RadioToolButton): if self._palette is not None: self._palette.props.invoker = None self._palette = palette - self._palette.props.invoker = ToolInvoker(self.child) + self._palette.props.invoker = ToolInvoker(self) def set_tooltip(self, text): self.set_palette(Palette(text)) diff --git a/sugar/graphics/toggletoolbutton.py b/sugar/graphics/toggletoolbutton.py index 2c97fa38..3d05cc06 100644 --- a/sugar/graphics/toggletoolbutton.py +++ b/sugar/graphics/toggletoolbutton.py @@ -40,7 +40,7 @@ class ToggleToolButton(gtk.ToggleToolButton): if self._palette is not None: self._palette.props.invoker = None self._palette = palette - self._palette.props.invoker = ToolInvoker(self.child) + self._palette.props.invoker = ToolInvoker(self) def set_tooltip(self, text): self.set_palette(Palette(text)) diff --git a/sugar/graphics/toolbutton.py b/sugar/graphics/toolbutton.py index 8a0005e3..b4c8eb32 100644 --- a/sugar/graphics/toolbutton.py +++ b/sugar/graphics/toolbutton.py @@ -44,7 +44,7 @@ class ToolButton(gtk.ToolButton): if self._palette is not None: self._palette.props.invoker = None self._palette = palette - self._palette.props.invoker = ToolInvoker(self.child) + self._palette.props.invoker = ToolInvoker(self) def set_tooltip(self, text): self.set_palette(Palette(text))