Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2011-07-09 20:46:57 (GMT)
committer Walter Bender <walter.bender@gmail.com>2011-07-09 20:46:57 (GMT)
commit1203a8db269ed0a4c5c11b858092b8e3531f7f9d (patch)
treec13d3cfc7a9df9db6329e0dcc113c6d26030cb13
parent2f8b441be9ebd1540c37ee1b329b6eeff3e2647c (diff)
cleaned up event handling
-rw-r--r--src/jarabe/journal/detailview.py16
-rw-r--r--src/jarabe/journal/expandedentry.py17
-rw-r--r--src/jarabe/journal/keepicon.py17
3 files changed, 30 insertions, 20 deletions
diff --git a/src/jarabe/journal/detailview.py b/src/jarabe/journal/detailview.py
index b5a7a2b..4b55a6e 100644
--- a/src/jarabe/journal/detailview.py
+++ b/src/jarabe/journal/detailview.py
@@ -111,12 +111,16 @@ class BackBar(gtk.EventBox):
if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
hbox.reverse()
- self.connect('motion-notify-event', self.__motion_notify_event_cb)
+ self.connect('enter-notify-event', self.__enter_notify_event_cb)
+ self.connect('leave-notify-event', self.__leave_notify_event_cb)
- def __motion_notify_event_cb(self, box, event):
- if event.detail == 1: # TODO: enter
- box.props.background_color = style.COLOR_SELECTION_GREY.get_gdk_color()
- elif event.detail == 0: # TODO: leave
- box.props.background_color = style.COLOR_PANEL_GREY.get_gdk_color()
+ def __enter_notify_event_cb(self, box, event):
+ box.modify_bg(gtk.STATE_NORMAL,
+ style.COLOR_SELECTION_GREY.get_gdk_color())
+ return False
+
+ def __leave_notify_event_cb(self, box, event):
+ box.modify_bg(gtk.STATE_NORMAL,
+ style.COLOR_PANEL_GREY.get_gdk_color())
return False
diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py
index c4de473..f02765c 100644
--- a/src/jarabe/journal/expandedentry.py
+++ b/src/jarabe/journal/expandedentry.py
@@ -163,8 +163,9 @@ class ExpandedEntry(gtk.EventBox):
def _create_keep_icon(self):
keep_icon = KeepIcon(False)
- # TODO: figure out proper signals
- # keep_icon.connect('activate', self._keep_icon_activated_cb)
+ # TODO: figure out proper signals; was 'activte'
+ keep_icon.connect('button-release-event',
+ self._keep_icon_button_release_cb)
return keep_icon
def _create_icon(self):
@@ -312,7 +313,6 @@ class ExpandedEntry(gtk.EventBox):
scrolled_window.add_with_viewport(text_view)
vbox.pack_start(scrolled_window)
- # FIXME:
# text_view.text_view_widget.connect('focus-out-event',
# self._description_focus_out_event_cb)
@@ -350,15 +350,18 @@ class ExpandedEntry(gtk.EventBox):
self._metadata['title_set_by_user'] = '1'
needs_update = True
+ bounds = self._tags.get_buffer().get_bounds()
old_tags = self._metadata.get('tags', None)
- new_tags = self._tags.get_text()
+ new_tags = self._tags.get_buffer().get_text(bounds[0], bounds[1])
+
if old_tags != new_tags:
self._metadata['tags'] = new_tags
needs_update = True
+ bounds = self._description.get_buffer().get_bounds()
old_description = self._metadata.get('description', None)
- new_description = \
- self._description.get_text()
+ new_description = self._description.get_buffer().get_text(
+ bounds[0], bounds[1])
if old_description != new_description:
self._metadata['description'] = new_description
needs_update = True
@@ -378,7 +381,7 @@ class ExpandedEntry(gtk.EventBox):
def get_keep(self):
return int(self._metadata.get('keep', 0)) == 1
- def _keep_icon_activated_cb(self, keep_icon):
+ def _keep_icon_button_release_cb(self, keep_icon, event):
if self.get_keep():
self._metadata['keep'] = 0
else:
diff --git a/src/jarabe/journal/keepicon.py b/src/jarabe/journal/keepicon.py
index 1253afc..8586089 100644
--- a/src/jarabe/journal/keepicon.py
+++ b/src/jarabe/journal/keepicon.py
@@ -15,8 +15,8 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import gobject
-import hippo
import gconf
+import logging
from sugar.graphics.icon import CanvasIcon
from sugar.graphics import style
@@ -28,7 +28,8 @@ class KeepIcon(CanvasIcon):
CanvasIcon.__init__(self, icon_name='emblem-favorite',
box_width=style.GRID_CELL_SIZE * 3 / 5,
size=style.SMALL_ICON_SIZE)
- self.connect('motion-notify-event', self.__motion_notify_event_cb)
+ self.connect('leave-notify-event', self.__leave_notify_event_cb)
+ self.connect('enter-notify-event', self.__enter_notify_event_cb)
self._keep = None
self.set_keep(keep)
@@ -42,6 +43,7 @@ class KeepIcon(CanvasIcon):
client = gconf.client_get_default()
color = XoColor(client.get_string('/desktop/sugar/user/color'))
self.props.xo_color = color
+ logging.debug('KEEPICON: setting xo_color')
else:
self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg()
self.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
@@ -52,9 +54,10 @@ class KeepIcon(CanvasIcon):
keep = gobject.property(type=int, default=0, getter=get_keep,
setter=set_keep)
- def __motion_notify_event_cb(self, icon, event):
+ def __enter_notify_event_cb(self, icon, event):
if not self._keep:
- if event.detail == hippo.MOTION_DETAIL_ENTER:
- icon.props.fill_color = style.COLOR_BUTTON_GREY.get_svg()
- elif event.detail == hippo.MOTION_DETAIL_LEAVE:
- icon.props.fill_color = style.COLOR_TRANSPARENT.get_svg()
+ icon.props.fill_color = style.COLOR_BUTTON_GREY.get_svg()
+
+ def __leave_notify_event_cb(self, icon, event):
+ if not self._keep:
+ icon.props.fill_color = style.COLOR_TRANSPARENT.get_svg()