Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-12-05 17:24:03 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-12-05 17:24:03 (GMT)
commit8c8b205fdf23accfaade79b9162812d5c59b30a9 (patch)
treed5b3b1e63038ce2b300bc2ce870592c02060325e /src
parentcc7ce538c3e7d126cc8a1051d4f38e58761c7eaf (diff)
Add a Send to menu to journal entries
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/journal/palettes.py40
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