diff options
author | Eben Eliason <eben@sugar.(none)> | 2009-01-15 21:18:32 (GMT) |
---|---|---|
committer | Eben Eliason <eben@sugar.(none)> | 2009-01-15 21:18:32 (GMT) |
commit | 487c684f0548a68ff6bfaf0516659de16bd2dbab (patch) | |
tree | 0bf21b277cb87442b7360eb0e9b36881573338db /src/jarabe/desktop | |
parent | a718e0890927bd9417410edd68cc70a7c2e36f6c (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.py | 30 | ||||
-rw-r--r-- | src/jarabe/desktop/groupbox.py | 13 |
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() |