diff options
author | Walter 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) |
commit | 1203a8db269ed0a4c5c11b858092b8e3531f7f9d (patch) | |
tree | c13d3cfc7a9df9db6329e0dcc113c6d26030cb13 | |
parent | 2f8b441be9ebd1540c37ee1b329b6eeff3e2647c (diff) |
cleaned up event handling
-rw-r--r-- | src/jarabe/journal/detailview.py | 16 | ||||
-rw-r--r-- | src/jarabe/journal/expandedentry.py | 17 | ||||
-rw-r--r-- | src/jarabe/journal/keepicon.py | 17 |
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() |