Hide palettes on iconbutton/toolbutton clicked

master
Eduardo Silva 17 years ago
parent a2c0e52c20
commit c7d730e1ac

@ -48,6 +48,7 @@ class IconButton(CanvasIcon, hippo.CanvasItem):
self.props.stroke_color = color.BUTTON_NORMAL
self._set_size(STANDARD_SIZE)
self.connect('activated', self._icon_clicked_cb)
def _set_size(self, size):
if size == SMALL_SIZE:
@ -85,3 +86,7 @@ class IconButton(CanvasIcon, hippo.CanvasItem):
else:
self.props.background_color = \
color.BUTTON_BACKGROUND_NORMAL.get_int()
def _icon_clicked_cb(self, button):
if self._palette:
self._palette.popdown(True)

@ -259,10 +259,14 @@ class Palette(gobject.GObject):
self._popup_anim.start()
self._secondary_anim.start()
def popdown(self):
def popdown(self, inmediate=False):
self._secondary_anim.stop()
self._popup_anim.stop()
self._popdown_anim.start()
if not inmediate:
self._popdown_anim.start()
else:
self._hide()
def invoker_mouse_enter(self):
self.popup()

@ -28,6 +28,7 @@ class ToolButton(gtk.ToolButton):
gtk.ToolButton.__init__(self)
self._palette = None
self.set_icon(icon_name)
self.connect('clicked', self._button_clicked_cb)
def set_icon(self, icon_name):
icon = Icon(icon_name)
@ -44,4 +45,8 @@ class ToolButton(gtk.ToolButton):
def set_tooltip(self, text):
self.set_palette(Palette(text))
def _button_clicked_cb(self, widget):
if self._palette:
self._palette.popdown(True)
palette = property(get_palette, set_palette)

Loading…
Cancel
Save