Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-03-09 12:12:52 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-03-09 12:12:52 (GMT)
commit66e341c58ec7a6a1cb976a33103914bfddf7ebf6 (patch)
tree8b487136f4750ffc4c9385883cee3caeb8cf9c71 /sugar
parent2d9a06ec9a1a3779b169ec1ef70c542821270b25 (diff)
Use button_press virtual method instead of the connect_after hacks.
Diffstat (limited to 'sugar')
-rw-r--r--sugar/graphics/canvasicon.py5
-rw-r--r--sugar/graphics/iconbutton.py7
-rw-r--r--sugar/graphics/toggleiconbutton.py8
3 files changed, 7 insertions, 13 deletions
diff --git a/sugar/graphics/canvasicon.py b/sugar/graphics/canvasicon.py
index 3438c82..6f7a0a9 100644
--- a/sugar/graphics/canvasicon.py
+++ b/sugar/graphics/canvasicon.py
@@ -176,7 +176,6 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem):
hippo.CanvasBox.__init__(self, **kwargs)
- self.connect_after('button-press-event', self._button_press_event_cb)
self.connect_after('motion-notify-event', self._motion_notify_event_cb)
def _clear_buffers(self):
@@ -326,9 +325,9 @@ class CanvasIcon(hippo.CanvasBox, hippo.CanvasItem):
[width, height] = self._get_icon_size()
return height
- def _button_press_event_cb(self, item, event):
+ def do_button_press_event(self, event):
item.emit_activated()
- return False
+ return True
def get_popup(self):
if self._tooltip:
diff --git a/sugar/graphics/iconbutton.py b/sugar/graphics/iconbutton.py
index 5c807a7..be08ead 100644
--- a/sugar/graphics/iconbutton.py
+++ b/sugar/graphics/iconbutton.py
@@ -27,7 +27,7 @@ from sugar.graphics import color
STANDARD_SIZE = 0
SMALL_SIZE = 1
-class IconButton(CanvasIcon):
+class IconButton(CanvasIcon, hippo.CanvasItem):
__gtype_name__ = 'SugarIconButton'
__gproperties__ = {
@@ -45,9 +45,6 @@ class IconButton(CanvasIcon):
self._set_size(STANDARD_SIZE)
- self.connect_after('button-press-event',
- self._icon_button_button_press_event_cb)
-
def _set_size(self, size):
if size == SMALL_SIZE:
self.props.box_width = -1
@@ -72,7 +69,7 @@ class IconButton(CanvasIcon):
else:
return CanvasIcon.do_get_property(self, pspec)
- def _icon_button_button_press_event_cb(self, widget, event):
+ def do_button_press_event(self, event):
if self._active:
self.emit_activated()
return True
diff --git a/sugar/graphics/toggleiconbutton.py b/sugar/graphics/toggleiconbutton.py
index a637fcd..06f5521 100644
--- a/sugar/graphics/toggleiconbutton.py
+++ b/sugar/graphics/toggleiconbutton.py
@@ -16,11 +16,12 @@
# Boston, MA 02111-1307, USA.
import gobject
+import hippo
from sugar.graphics.iconbutton import IconButton
from sugar.graphics import color
-class ToggleIconButton(IconButton):
+class ToggleIconButton(IconButton, hippo.CanvasItem):
__gtype_name__ = 'SugarToggleIconButton'
__gproperties__ = {
@@ -33,9 +34,6 @@ class ToggleIconButton(IconButton):
IconButton.__init__(self, **kwargs)
- self.connect('button-press-event',
- self._toggle_icon_button_press_event_cb)
-
def _get_bg_color(self):
if self._toggled:
col = color.TOGGLE_BUTTON_BACKGROUND
@@ -60,7 +58,7 @@ class ToggleIconButton(IconButton):
return IconButton.do_get_property(self, pspec)
- def _toggle_icon_button_press_event_cb(self, widget, event):
+ def do_button_press_event(self, event):
self.props.toggled = not self._toggled
return True