Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/desktop
diff options
context:
space:
mode:
authorEben Eliason <eben@sugar.(none)>2009-01-15 21:18:32 (GMT)
committer Eben Eliason <eben@sugar.(none)>2009-01-15 21:18:32 (GMT)
commit487c684f0548a68ff6bfaf0516659de16bd2dbab (patch)
tree0bf21b277cb87442b7360eb0e9b36881573338db /src/jarabe/desktop
parenta718e0890927bd9417410edd68cc70a7c2e36f6c (diff)
Make the XO menu ubiquitous in the UI.
This change makes the XO menu appear on all instances of the XO icon in the UI, including all zoom levels as well as the Frame. In the short term, the register option remains as a special case only on the XO enu in Home.
Diffstat (limited to 'src/jarabe/desktop')
-rw-r--r--src/jarabe/desktop/favoritesview.py30
-rw-r--r--src/jarabe/desktop/groupbox.py13
2 files changed, 13 insertions, 30 deletions
diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py
index 27e1c32..81f2730 100644
--- a/src/jarabe/desktop/favoritesview.py
+++ b/src/jarabe/desktop/favoritesview.py
@@ -31,10 +31,13 @@ from sugar.graphics.menuitem import MenuItem
from sugar.graphics.alert import Alert
from sugar.graphics.xocolor import XoColor
from sugar.activity import activityfactory
+from sugar.presence import presenceservice
from sugar import dispatch
from jarabe.view.palettes import JournalPalette
from jarabe.view.palettes import CurrentActivityPalette, ActivityPalette
+from jarabe.view.buddymenu import BuddyMenu
+from jarabe.model.buddy import BuddyModel
from jarabe.model import shell
from jarabe.model import bundleregistry
from jarabe import journal
@@ -620,30 +623,11 @@ class _MyIcon(MyIcon):
self._palette_enabled = True
return
- client = gconf.client_get_default()
- nick = client.get_string("/desktop/sugar/user/nick")
- color = XoColor(client.get_string("/desktop/sugar/user/color"))
-
- palette_icon = Icon(icon_name='computer-xo',
- icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR,
- xo_color=color)
- palette = Palette(nick, icon=palette_icon)
-
- item = MenuItem(_('Settings'), 'preferences-system')
- item.connect('activate', self.__controlpanel_activate_cb)
- palette.menu.append(item)
- item.show()
-
- item = MenuItem(_('Restart'), 'system-restart')
- item.connect('activate', self._reboot_activate_cb)
- palette.menu.append(item)
- item.show()
-
- item = MenuItem(_('Shutdown'), 'system-shutdown')
- item.connect('activate', self._shutdown_activate_cb)
- palette.menu.append(item)
- item.show()
+ presence_service = presenceservice.get_instance()
+ owner = BuddyModel(buddy=presence_service.get_owner())
+ palette = BuddyMenu(owner)
+ client = gconf.client_get_default()
backup_url = client.get_string('/desktop/sugar/backup_url')
if not backup_url:
self._register_menu = MenuItem(_('Register'), 'media-record')
diff --git a/src/jarabe/desktop/groupbox.py b/src/jarabe/desktop/groupbox.py
index b77ae6e..5599d0c 100644
--- a/src/jarabe/desktop/groupbox.py
+++ b/src/jarabe/desktop/groupbox.py
@@ -25,7 +25,10 @@ from sugar.graphics import style
from sugar.graphics.icon import CanvasIcon, Icon
from sugar.graphics.palette import Palette
from sugar.graphics.xocolor import XoColor
+from sugar.presence import presenceservice
+from jarabe.view.buddymenu import BuddyMenu
+from jarabe.model.buddy import BuddyModel
from jarabe.model import friends
from jarabe.desktop.friendview import FriendView
from jarabe.desktop.spreadlayout import SpreadLayout
@@ -52,14 +55,10 @@ class GroupBox(hippo.Canvas):
self._owner_icon = CanvasIcon(icon_name='computer-xo', cache=True,
xo_color=color)
self._owner_icon.props.size = style.LARGE_ICON_SIZE
- palette_icon = Icon(icon_name='computer-xo',
- xo_color=color)
- palette_icon.props.icon_size = gtk.ICON_SIZE_LARGE_TOOLBAR
- nick = client.get_string("/desktop/sugar/user/nick")
- palette = Palette(None, primary_text=nick, icon=palette_icon)
-
- self._owner_icon.set_palette(palette)
+ presence_service = presenceservice.get_instance()
+ owner = BuddyModel(buddy=presence_service.get_owner())
+ self._owner_icon.set_palette(BuddyMenu(owner))
self._layout.add(self._owner_icon)
friends_model = friends.get_model()