diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-12-05 17:24:03 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-12-05 17:24:03 (GMT) |
commit | 8c8b205fdf23accfaade79b9162812d5c59b30a9 (patch) | |
tree | d5b3b1e63038ce2b300bc2ce870592c02060325e /src | |
parent | cc7ce538c3e7d126cc8a1051d4f38e58761c7eaf (diff) |
Add a Send to menu to journal entries
Diffstat (limited to 'src')
-rw-r--r-- | src/jarabe/journal/palettes.py | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py index 1f41032..a9e3f85 100644 --- a/src/jarabe/journal/palettes.py +++ b/src/jarabe/journal/palettes.py @@ -16,9 +16,10 @@ from gettext import gettext as _ import logging -import gconf +import gobject import gtk +import gconf from sugar.graphics import style from sugar.graphics.palette import Palette @@ -27,6 +28,7 @@ from sugar.graphics.icon import Icon from sugar.graphics.xocolor import XoColor from jarabe.model import bundleregistry +from jarabe.model import friends from jarabe.journal import misc from jarabe.journal import model @@ -75,6 +77,12 @@ class ObjectPalette(Palette): self.menu.append(menu_item) menu_item.show() + menu_item = MenuItem(_('Send to'), 'list-remove') + #menu_item.connect('activate', self.__sendto_activate_cb) + self.menu.append(menu_item) + menu_item.set_submenu(FriendsMenu()) + menu_item.show() + menu_item = MenuItem(_('Erase'), 'list-remove') menu_item.connect('activate', self.__erase_activate_cb) self.menu.append(menu_item) @@ -106,6 +114,36 @@ class ObjectPalette(Palette): registry.uninstall(bundle) model.delete(self._metadata['uid']) +class FriendsMenu(gtk.Menu): + __gtype_name__ = 'JournalFriendsMenu' + + __gsignals__ = { + 'friend-selected' : (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, + ([object])), + } + + def __init__(self): + gobject.GObject.__init__(self) + + friends_model = friends.get_model() + for friend in friends_model: + if friend.is_present(): + menu_item = MenuItem(text_label=friend.get_nick(), + icon_name='computer-xo', + xo_color=friend.get_color()) + menu_item.connect('activate', self.__item_activate_cb, friend) + self.append(menu_item) + menu_item.show() + + if not self.get_children(): + menu_item = MenuItem(_('No friends present')) + menu_item.set_sensitive(False) + self.append(menu_item) + menu_item.show() + + def __item_activate_cb(self, menu_item, friend): + self.emit('friend-selected', friend) + class BuddyPalette(Palette): def __init__(self, buddy): self._buddy = buddy |