Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2009-01-29 13:07:50 (GMT)
committer Simon Schampijer <simon@schampijer.de>2009-01-29 13:07:50 (GMT)
commitfb826658597dbfc72c1f99f54b8a515ae0b1e753 (patch)
treec190f22cc140cad7ff402fd677083f0256447261 /src
parent4907a137a0929de4942b413f172b9830603dce17 (diff)
Add 'View Details' option to object palette in journal
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/journal/collapsedentry.py29
-rw-r--r--src/jarabe/journal/palettes.py20
2 files changed, 45 insertions, 4 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):
diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py
index a56d373..10917cf 100644
--- a/src/jarabe/journal/palettes.py
+++ b/src/jarabe/journal/palettes.py
@@ -35,7 +35,16 @@ from jarabe.journal import misc
from jarabe.journal import model
class ObjectPalette(Palette):
- def __init__(self, metadata):
+
+ __gtype_name__ = 'ObjectPalette'
+
+ __gsignals__ = {
+ 'detail-clicked': (gobject.SIGNAL_RUN_FIRST,
+ gobject.TYPE_NONE,
+ ([]))
+ }
+
+ def __init__(self, metadata, detail=False):
self._metadata = metadata
self._temp_file_path = None
@@ -94,6 +103,12 @@ class ObjectPalette(Palette):
friends_menu.connect('friend-selected', self.__friend_selected_cb)
menu_item.set_submenu(friends_menu)
+ if detail == True:
+ menu_item = MenuItem(_('View Details'), 'go-right')
+ menu_item.connect('activate', self.__detail_activate_cb)
+ self.menu.append(menu_item)
+ menu_item.show()
+
menu_item = MenuItem(_('Erase'), 'list-remove')
menu_item.connect('activate', self.__erase_activate_cb)
self.menu.append(menu_item)
@@ -126,6 +141,9 @@ class ObjectPalette(Palette):
registry.uninstall(bundle)
model.delete(self._metadata['uid'])
+ def __detail_activate_cb(self, menu_item):
+ self.emit('detail-clicked')
+
def __friend_selected_cb(self, menu_item, buddy):
logging.debug('__friend_selected_cb')
file_name = model.get_file(self._metadata['uid'])