diff --git a/src/sugar3/graphics/palette.py b/src/sugar3/graphics/palette.py index 8b2831a3..7572ab1f 100644 --- a/src/sugar3/graphics/palette.py +++ b/src/sugar3/graphics/palette.py @@ -456,6 +456,15 @@ class Palette(PaletteWindow): menu = GObject.property(type=object, getter=get_menu) + def _invoker_right_click_cb(self, invoker): + self.popup(immediate=True, state=self.SECONDARY) + + def _invoker_toggle_state_cb(self, invoker): + if self.is_up() and self._palette_state == self.SECONDARY: + self.popdown(immediate=True) + else: + self.popup(immediate=True, state=self.SECONDARY) + class PaletteActionBar(Gtk.HButtonBox): diff --git a/src/sugar3/graphics/palettewindow.py b/src/sugar3/graphics/palettewindow.py index 4761be7e..1b43b65c 100644 --- a/src/sugar3/graphics/palettewindow.py +++ b/src/sugar3/graphics/palettewindow.py @@ -700,13 +700,13 @@ class PaletteWindow(GObject.GObject): self.on_invoker_leave() def _invoker_right_click_cb(self, invoker): - self.popup(immediate=True, state=self.SECONDARY) + self.popup(immediate=True) def _invoker_toggle_state_cb(self, invoker): - if self.is_up() and self._palette_state == self.SECONDARY: + if self.is_up(): self.popdown(immediate=True) else: - self.popup(immediate=True, state=self.SECONDARY) + self.popup(immediate=True) def __enter_notify_cb(self, widget): if not self._invoker.locked: