Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/journal/collapsedentry.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/journal/collapsedentry.py')
-rw-r--r--src/jarabe/journal/collapsedentry.py29
1 files changed, 26 insertions, 3 deletions
diff --git a/src/jarabe/journal/collapsedentry.py b/src/jarabe/journal/collapsedentry.py
index 8930e59..3eeb087 100644
--- a/src/jarabe/journal/collapsedentry.py
+++ b/src/jarabe/journal/collapsedentry.py
@@ -61,6 +61,15 @@ class BuddyList(hippo.CanvasBox):
self.append(icon)
class EntryIcon(CanvasIcon):
+
+ __gtype_name__ = 'EntryIcon'
+
+ __gsignals__ = {
+ 'detail-clicked': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([]))
+ }
+
def __init__(self, **kwargs):
CanvasIcon.__init__(self, **kwargs)
self._metadata = None
@@ -72,10 +81,16 @@ class EntryIcon(CanvasIcon):
def create_palette(self):
if self.show_palette:
- return ObjectPalette(self._metadata)
+ palette = ObjectPalette(self._metadata, detail=True)
+ palette.connect('detail-clicked',
+ self.__detail_clicked_cb)
+ return palette
else:
return None
+ def __detail_clicked_cb(self, event):
+ self.emit('detail-clicked')
+
show_palette = gobject.property(type=bool, default=False)
class BaseCollapsedEntry(hippo.CanvasBox):
@@ -275,6 +290,8 @@ class CollapsedEntry(BaseCollapsedEntry):
self.icon.props.show_palette = True
self.icon.connect('button-release-event',
self.__icon_button_release_event_cb)
+ self.icon.connect('detail-clicked',
+ self.__detail_clicked_palette_cb)
self.title.connect('button_release_event',
self.__title_button_release_event_cb)
@@ -321,10 +338,16 @@ class CollapsedEntry(BaseCollapsedEntry):
metadata = property(BaseCollapsedEntry.get_metadata, set_metadata)
- def __detail_button_release_event_cb(self, button, event):
- logging.debug('_detail_button_release_event_cb')
+ def _detail_clicked(self):
if not self.is_in_progress():
self.emit('detail-clicked')
+
+ def __detail_clicked_palette_cb(self, entry):
+ self._detail_clicked()
+
+ def __detail_button_release_event_cb(self, button, event):
+ logging.debug('_detail_button_release_event_cb')
+ self._detail_clicked()
return True
def __detail_button_motion_notify_event_cb(self, button, event):