Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/graphics
diff options
context:
space:
mode:
authorEduardo Silva <edsiper@monotop.(none)>2007-07-08 14:29:43 (GMT)
committer Eduardo Silva <edsiper@monotop.(none)>2007-07-08 14:29:43 (GMT)
commitc7d730e1ac7159c0f0ce13804cbf18941df7caf2 (patch)
tree5730aed7378cc2a30eedbd7b5e75545bf00a7289 /sugar/graphics
parenta2c0e52c203e7a19b62bf4e6ba1ab034df50c74e (diff)
Hide palettes on iconbutton/toolbutton clicked
Diffstat (limited to 'sugar/graphics')
-rw-r--r--sugar/graphics/iconbutton.py5
-rw-r--r--sugar/graphics/palette.py8
-rw-r--r--sugar/graphics/toolbutton.py5
3 files changed, 16 insertions, 2 deletions
diff --git a/sugar/graphics/iconbutton.py b/sugar/graphics/iconbutton.py
index f98b016..c99c835 100644
--- a/sugar/graphics/iconbutton.py
+++ b/sugar/graphics/iconbutton.py
@@ -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)
diff --git a/sugar/graphics/palette.py b/sugar/graphics/palette.py
index 1a019b8..c241def 100644
--- a/sugar/graphics/palette.py
+++ b/sugar/graphics/palette.py
@@ -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()
diff --git a/sugar/graphics/toolbutton.py b/sugar/graphics/toolbutton.py
index f101803..e5d90ab 100644
--- a/sugar/graphics/toolbutton.py
+++ b/sugar/graphics/toolbutton.py
@@ -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)