diff options
author | Simon Schampijer <erikos@localhost.localdomain> | 2008-10-11 16:19:59 (GMT) |
---|---|---|
committer | Simon Schampijer <erikos@localhost.localdomain> | 2008-10-11 16:19:59 (GMT) |
commit | 8361ca82ae89ce8b038a4faa8274b2b88cfe81a6 (patch) | |
tree | d89a24023f019235a88c104b10fa6a2291bd82c8 /src | |
parent | 38cb73f56dd83c58252a27ace7b067109cefa311 (diff) |
Use gconf for the profile
Diffstat (limited to 'src')
24 files changed, 175 insertions, 110 deletions
diff --git a/src/jarabe/desktop/activitieslist.py b/src/jarabe/desktop/activitieslist.py index a7997cc..db88c47 100644 --- a/src/jarabe/desktop/activitieslist.py +++ b/src/jarabe/desktop/activitieslist.py @@ -17,11 +17,12 @@ import gobject import gtk import hippo +import gconf -from sugar import profile from sugar import util from sugar.graphics import style from sugar.graphics.icon import CanvasIcon +from sugar.graphics.xocolor import XoColor from sugar.activity import activityfactory from jarabe.model import bundleregistry @@ -135,6 +136,9 @@ class ActivityIcon(CanvasIcon): self.connect('hovering-changed', self.__hovering_changed_event_cb) self.connect('button-release-event', self.__button_release_event_cb) + client = gconf.client_get_default() + self._xocolor = XoColor(client.get_string("/desktop/sugar/user/color")) + def create_palette(self): palette = ActivityPalette(self._activity_info) palette.connect('erase-activated', self.__erase_activated_cb) @@ -144,7 +148,7 @@ class ActivityIcon(CanvasIcon): self.emit('erase-activated', self._activity_info.get_bundle_id()) def _color(self): - self.props.xo_color = profile.get_color() + self.props.xo_color = self._xocolor def _uncolor(self): self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg() @@ -160,7 +164,6 @@ class ActivityIcon(CanvasIcon): self.palette.popdown(immediate=True) self._uncolor() - class ActivityEntry(hippo.CanvasBox, hippo.CanvasItem): __gtype_name__ = 'SugarActivityEntry' @@ -278,7 +281,9 @@ class FavoriteIcon(CanvasIcon): self._favorite = favorite if favorite: - self.props.xo_color = profile.get_color() + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + self.props.xo_color = color else: self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg() self.props.fill_color = style.COLOR_WHITE.get_svg() diff --git a/src/jarabe/desktop/favoritesview.py b/src/jarabe/desktop/favoritesview.py index 87e0f92..4ffa7fe 100644 --- a/src/jarabe/desktop/favoritesview.py +++ b/src/jarabe/desktop/favoritesview.py @@ -17,6 +17,7 @@ import logging from gettext import gettext as _ +import gconf import gobject import gtk @@ -27,7 +28,7 @@ from sugar.graphics.palette import Palette from sugar.graphics.icon import Icon, CanvasIcon from sugar.graphics.menuitem import MenuItem from sugar.graphics.alert import Alert -from sugar.profile import get_profile +from sugar.graphics.xocolor import XoColor from sugar.activity import activityfactory from jarabe.view.palettes import JournalPalette @@ -331,6 +332,9 @@ class ActivityIcon(CanvasIcon): self.connect('hovering-changed', self.__hovering_changed_event_cb) self.connect('button-release-event', self.__button_release_event_cb) + client = gconf.client_get_default() + self._xocolor = XoColor(client.get_string("/desktop/sugar/user/color")) + def create_palette(self): palette = ActivityPalette(self._activity_info) palette.connect('erase-activated', self.__erase_activated_cb) @@ -340,7 +344,7 @@ class ActivityIcon(CanvasIcon): self.emit('erase-activated', self._activity_info.get_bundle_id()) def _color(self): - self.props.xo_color = get_profile().color + self.props.xo_color = self._xocolor def _uncolor(self): self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg() @@ -413,16 +417,17 @@ class _MyIcon(MyIcon): MyIcon.__init__(self, scale) self._power_manager = None - self._profile = get_profile() self.register_menu = None def enable_palette(self): + 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=self._profile.color) - palette = Palette(self._profile.nick_name, - #secondary_text='Sample secondary label', - icon=palette_icon) + xo_color=color) + palette = Palette(nick, icon=palette_icon) item = MenuItem(_('Settings'), 'preferences-system') item.connect('activate', self.__controlpanel_activate_cb) @@ -439,11 +444,12 @@ class _MyIcon(MyIcon): palette.menu.append(item) item.show() - if not self._profile.is_registered(): + backup_url = client.get_string('/desktop/sugar/backup_url') + if not backup_url: self.register_menu = MenuItem(_('Register'), 'media-record') palette.menu.append(self.register_menu) self.register_menu.show() - + self.set_palette(palette) def _reboot_activate_cb(self, menuitem): diff --git a/src/jarabe/desktop/groupbox.py b/src/jarabe/desktop/groupbox.py index 75173ff..5f4bdf2 100644 --- a/src/jarabe/desktop/groupbox.py +++ b/src/jarabe/desktop/groupbox.py @@ -17,11 +17,12 @@ import gobject import gtk import hippo +import gconf -from sugar import profile 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 jarabe.model import friends from jarabe.desktop.friendview import FriendView @@ -41,14 +42,19 @@ class GroupBox(hippo.Canvas): self._layout = SpreadLayout() self._box.set_layout(self._layout) + client = gconf.client_get_default() + color = XoColor(client.get_string("/desktop/sugar/user/color")) + self._owner_icon = CanvasIcon(icon_name='computer-xo', cache=True, - xo_color=profile.get_color()) + xo_color=color) self._owner_icon.props.size = style.LARGE_ICON_SIZE palette_icon = Icon(icon_name='computer-xo', - xo_color=profile.get_color()) + xo_color=color) palette_icon.props.icon_size = gtk.ICON_SIZE_LARGE_TOOLBAR - palette = Palette(None, primary_text=profile.get_nick_name(), - icon=palette_icon) + + nick = client.get_string("/desktop/sugar/user/nick") + palette = Palette(None, primary_text=nick, icon=palette_icon) + self._owner_icon.set_palette(palette) self._layout.add(self._owner_icon) @@ -86,4 +92,3 @@ class GroupBox(hippo.Canvas): self._layout.move(self._owner_icon, x, y) hippo.Canvas.do_size_allocate(self, allocation) - diff --git a/src/jarabe/desktop/homebox.py b/src/jarabe/desktop/homebox.py index 337555d..999fede 100644 --- a/src/jarabe/desktop/homebox.py +++ b/src/jarabe/desktop/homebox.py @@ -17,6 +17,7 @@ from gettext import gettext as _ import logging import os +import gconf import gobject import gtk @@ -26,7 +27,6 @@ from sugar.graphics import iconentry from sugar.graphics.radiotoolbutton import RadioToolButton from sugar.graphics.alert import Alert from sugar.graphics.icon import Icon -from sugar import profile from jarabe.model import bundleregistry from jarabe.desktop import favoritesview @@ -34,6 +34,7 @@ from jarabe.desktop.activitieslist import ActivitiesList _FAVORITES_VIEW = 0 _LIST_VIEW = 1 +_FAVORITES_KEY = "/desktop/sugar/desktop/favorites_layout" _AUTOSEARCH_TIMEOUT = 1000 @@ -65,8 +66,9 @@ class HomeBox(gtk.VBox): self.pack_start(self._toolbar, expand=False) self._toolbar.show() - profile_layout_constant = profile.get_profile().favorites_layout - layout = _convert_layout_constant(profile_layout_constant) + client = gconf.client_get_default() + layout_constant = client.get_string(_FAVORITES_KEY) + layout = _convert_layout_constant(layout_constant) self._set_view(_FAVORITES_VIEW, layout) def __erase_activated_cb(self, view, bundle_id): @@ -160,11 +162,12 @@ class HomeBox(gtk.VBox): def __toolbar_view_changed_cb(self, toolbar, view, layout): self._set_view(view, layout) if layout is not None: - current_profile = profile.get_profile() + client = gconf.client_get_default() + layout_profile = client.get_string(_FAVORITES_KEY) + layout = _convert_layout_constant(layout_profile) profile_key = favoritesview.LAYOUT_MAP[layout].profile_key - if profile_key != current_profile.favorites_layout: - current_profile.favorites_layout = profile_key - current_profile.save() + if profile_key != layout: + client.set_string(_FAVORITES_KEY, profile_key) else: logging.warning('Incorrect layout requested: %r' % layout) @@ -325,8 +328,9 @@ class FavoritesButton(RadioToolButton): self.props.accelerator = _('<Ctrl>1') self.props.group = None - profile_layout_constant = profile.get_profile().favorites_layout - self._layout = _convert_layout_constant(profile_layout_constant) + client = gconf.client_get_default() + layout_constant = client.get_string(_FAVORITES_KEY) + self._layout = _convert_layout_constant(layout_constant) self._update_icon() # someday, this will be a gtk.Table() diff --git a/src/jarabe/desktop/meshbox.py b/src/jarabe/desktop/meshbox.py index 8f0587b..3170d35 100644 --- a/src/jarabe/desktop/meshbox.py +++ b/src/jarabe/desktop/meshbox.py @@ -16,6 +16,7 @@ from gettext import gettext as _ import logging +import gconf import hippo import gobject @@ -30,7 +31,6 @@ from sugar.graphics import iconentry from sugar.graphics.menuitem import MenuItem from sugar.activity.activityhandle import ActivityHandle from sugar.activity import activityfactory -from sugar import profile from jarabe.model import accesspoint from jarabe.model import neighborhood @@ -258,7 +258,9 @@ class MeshDeviceView(CanvasPulsingIcon): self.props.pulsing = False self.props.base_color = XoColor('#D5D5D5,#D5D5D5') else: - self.props.base_color = profile.get_color() + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + self.props.base_color = color def set_filter(self, query): self._greyed_out = (query != '') diff --git a/src/jarabe/desktop/myicon.py b/src/jarabe/desktop/myicon.py index af0f6ce..4a4ad95 100644 --- a/src/jarabe/desktop/myicon.py +++ b/src/jarabe/desktop/myicon.py @@ -14,11 +14,15 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +import gconf + from sugar.graphics.icon import CanvasIcon -from sugar import profile +from sugar.graphics.xocolor import XoColor class MyIcon(CanvasIcon): def __init__(self, size): + client = gconf.client_get_default() + color = XoColor(client.get_string("/desktop/sugar/user/color")) CanvasIcon.__init__(self, size=size, icon_name='computer-xo', - xo_color=profile.get_color()) + xo_color=color) diff --git a/src/jarabe/desktop/schoolserver.py b/src/jarabe/desktop/schoolserver.py index a9ed60b..db58778 100644 --- a/src/jarabe/desktop/schoolserver.py +++ b/src/jarabe/desktop/schoolserver.py @@ -4,7 +4,7 @@ from xmlrpclib import ServerProxy, Error import socket import os -from sugar.profile import get_profile +from sugar import profile REGISTER_URL = 'http://schoolserver:8080/' @@ -21,11 +21,12 @@ def register_laptop(url=REGISTER_URL): sn = sn or 'SHF00000000' uuid = uuid or '00000000-0000-0000-0000-000000000000' - profile = get_profile() + client = gconf.client_get_default() + nick = client.get_string('/desktop/sugar/user/nick') server = ServerProxy(url) try: - data = server.register(sn, profile.nick_name, uuid, profile.pubkey) + data = server.register(sn, nick, uuid, profile.pubkey) except (Error, socket.error), e: logging.error('Registration: cannot connect to server: %s' % e) raise RegisterError(_('Cannot connect to the server.')) @@ -35,9 +36,9 @@ def register_laptop(url=REGISTER_URL): data['error']) raise RegisterError(_('The server could not complete the request.')) - profile.jabber_server = data['jabberserver'] - profile.backup1 = data['backupurl'] - profile.save() + client.set_string('/desktop/sugar/collaboration/jabber_server', + data['jabberserver']) + client.set_string('/desktop/sugar/backup_url', data['backupurl']) return True diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py index 157d73e..dc37bf3 100644 --- a/src/jarabe/frame/activitiestray.py +++ b/src/jarabe/frame/activitiestray.py @@ -17,6 +17,8 @@ import logging from gettext import gettext as _ +import gconf + import gtk from sugar.graphics import style @@ -29,7 +31,6 @@ from sugar.graphics.palette import Palette, WidgetInvoker from sugar.graphics.menuitem import MenuItem from sugar.activity.activityhandle import ActivityHandle from sugar.activity import activityfactory -from sugar import profile from jarabe.model import shell from jarabe.model import neighborhood @@ -164,7 +165,10 @@ class PrivateInviteButton(BaseInviteButton): self._private_channel = invite.get_private_channel() self._bundle_id = invite.get_bundle_id() - self._icon.props.xo_color = profile.get_color() + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + + self._icon.props.xo_color = color registry = bundleregistry.get_registry() self._bundle = registry.get_bundle(self._bundle_id) @@ -180,7 +184,7 @@ class PrivateInviteButton(BaseInviteButton): palette.set_group_id('frame') self.set_palette(palette) - self._notif_icon.props.xo_color = profile.get_color() + self._notif_icon.props.xo_color = color if self._bundle: self._notif_icon.props.icon_filename = self._bundle.get_icon() diff --git a/src/jarabe/frame/clipboardicon.py b/src/jarabe/frame/clipboardicon.py index 6c744ca..f67ec1f 100644 --- a/src/jarabe/frame/clipboardicon.py +++ b/src/jarabe/frame/clipboardicon.py @@ -16,12 +16,13 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA import logging +import gconf + import gtk from sugar.graphics.radiotoolbutton import RadioToolButton from sugar.graphics.icon import Icon from sugar.graphics.xocolor import XoColor -from sugar import profile from jarabe.frame import clipboard from jarabe.frame.clipboardmenu import ClipboardMenu @@ -42,7 +43,9 @@ class ClipboardIcon(RadioToolButton): self._current_percent = None self._icon = Icon() - self._icon.props.xo_color = profile.get_color() + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + self._icon.props.xo_color = color self.set_icon_widget(self._icon) self._icon.show() @@ -139,4 +142,3 @@ class ClipboardIcon(RadioToolButton): for format_type in self._cb_object.get_formats().keys(): targets.append((format_type, 0, 0)) return targets - diff --git a/src/jarabe/frame/clipboardmenu.py b/src/jarabe/frame/clipboardmenu.py index a6b256a..266dc81 100644 --- a/src/jarabe/frame/clipboardmenu.py +++ b/src/jarabe/frame/clipboardmenu.py @@ -19,15 +19,16 @@ import tempfile import urlparse import os import logging +import gconf import gtk from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem from sugar.graphics.icon import Icon +from sugar.graphics.xocolor import XoColor from sugar.datastore import datastore from sugar import mime -from sugar import profile from jarabe.frame import clipboard from jarabe.journal import misc @@ -59,8 +60,10 @@ class ClipboardMenu(Palette): self._open_item.show() self._journal_item = MenuItem(_('Keep')) - icon = Icon(icon_name='document-save', icon_size=gtk.ICON_SIZE_MENU, - xo_color=profile.get_color()) + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + icon = Icon(icon_name='document-save', icon_size=gtk.ICON_SIZE_MENU, + xo_color=color) self._journal_item.set_image(icon) self._journal_item.connect('activate', self._journal_item_activate_cb) @@ -229,10 +232,11 @@ class ClipboardMenu(Palette): jobject.metadata['keep'] = '0' jobject.metadata['buddies'] = '' jobject.metadata['preview'] = '' - jobject.metadata['icon-color'] = profile.get_color().to_string() + client = gconf.client_get_default() + color = client.get_string('/desktop/sugar/user/color') + jobject.metadata['icon-color'] = color jobject.metadata['mime_type'] = mime_type jobject.file_path = file_path datastore.write(jobject, transfer_ownership=transfer_ownership) return jobject - diff --git a/src/jarabe/frame/eventarea.py b/src/jarabe/frame/eventarea.py index 0eba150..5b31b24 100644 --- a/src/jarabe/frame/eventarea.py +++ b/src/jarabe/frame/eventarea.py @@ -17,8 +17,7 @@ import gtk import gobject import wnck - -from sugar import profile +import gconf _MAX_DELAY = 1000 @@ -36,43 +35,47 @@ class EventArea(gobject.GObject): self._windows = [] self._hover = False self._sids = {} - pro = profile.get_profile() - self._hot_delay = int(pro.hot_corners_delay) - self._warm_delay = int(pro.warm_edges_delay) + client = gconf.client_get_default() + self._edge_delay = client.get_int('/desktop/sugar/frame/edge_delay') + self._corner_delay = client.get_int('/desktop/sugar/frame/corner_delay') right = gtk.gdk.screen_width() - 1 bottom = gtk.gdk.screen_height() -1 width = gtk.gdk.screen_width() - 2 height = gtk.gdk.screen_height() - 2 - if self._warm_delay != _MAX_DELAY: - invisible = self._create_invisible(1, 0, width, 1, self._warm_delay) + if self._edge_delay != _MAX_DELAY: + invisible = self._create_invisible(1, 0, width, 1, + self._edge_delay) self._windows.append(invisible) invisible = self._create_invisible(1, bottom, width, 1, - self._warm_delay) + self._edge_delay) self._windows.append(invisible) invisible = self._create_invisible(0, 1, 1, height, - self._warm_delay) + self._edge_delay) self._windows.append(invisible) invisible = self._create_invisible(right, 1, 1, height, - self._warm_delay) + self._edge_delay) self._windows.append(invisible) - if self._hot_delay != _MAX_DELAY: - invisible = self._create_invisible(0, 0, 1, 1, self._hot_delay) + if self._corner_delay != _MAX_DELAY: + invisible = self._create_invisible(0, 0, 1, 1, + self._corner_delay) self._windows.append(invisible) - invisible = self._create_invisible(right, 0, 1, 1, self._hot_delay) + invisible = self._create_invisible(right, 0, 1, 1, + self._corner_delay) self._windows.append(invisible) - invisible = self._create_invisible(0, bottom, 1, 1, self._hot_delay) + invisible = self._create_invisible(0, bottom, 1, 1, + self._corner_delay) self._windows.append(invisible) invisible = self._create_invisible(right, bottom, 1, 1, - self._hot_delay) + self._corner_delay) self._windows.append(invisible) screen = wnck.screen_get_default() diff --git a/src/jarabe/intro/__init__.py b/src/jarabe/intro/__init__.py index 6f875d5..204f686 100644 --- a/src/jarabe/intro/__init__.py +++ b/src/jarabe/intro/__init__.py @@ -2,17 +2,20 @@ import os import gtk +from sugar import env from sugar.profile import get_profile from jarabe.intro.window import IntroWindow from jarabe.intro.window import create_profile def check_profile(): - if not get_profile().is_valid(): - if 'SUGAR_PROFILE_NAME' in os.environ: - create_profile(os.environ['SUGAR_PROFILE_NAME']) - else: - win = IntroWindow() - win.show_all() - gtk.main() + profile = get_profile() + path = os.path.join(env.get_profile_path(), 'config') + if os.path.exists(path): + profile.convert_profile() + + if not profile.is_valid(): + win = IntroWindow() + win.show_all() + gtk.main() diff --git a/src/jarabe/intro/window.py b/src/jarabe/intro/window.py index be1a963..3975900 100644 --- a/src/jarabe/intro/window.py +++ b/src/jarabe/intro/window.py @@ -17,6 +17,7 @@ import os import logging from gettext import gettext as _ +import gconf import gtk import gobject @@ -27,7 +28,6 @@ from sugar.graphics import style from sugar.graphics.icon import Icon from sugar.graphics.entry import CanvasEntry from sugar.graphics.xocolor import XoColor -from sugar.profile import get_profile from jarabe.intro import colorpicker @@ -44,10 +44,9 @@ def create_profile(name, color=None, pixbuf=None): icon_path = os.path.join(env.get_profile_path(), "buddy-icon.jpg") pixbuf.save(icon_path, "jpeg", {"quality":"85"}) - profile = get_profile() - profile.nick_name = name - profile.color = color - profile.save() + client = gconf.client_get_default() + client.set_string("/desktop/sugar/user/nick", name) + client.set_string("/desktop/sugar/user/color", color.to_string()) # Generate keypair import commands diff --git a/src/jarabe/journal/journaltoolbox.py b/src/jarabe/journal/journaltoolbox.py index 383cec0..7e2709f 100644 --- a/src/jarabe/journal/journaltoolbox.py +++ b/src/jarabe/journal/journaltoolbox.py @@ -18,6 +18,7 @@ from gettext import gettext as _ import logging from datetime import datetime, timedelta import os +import gconf import gobject import gtk @@ -28,9 +29,9 @@ from sugar.graphics.toolbutton import ToolButton from sugar.graphics.combobox import ComboBox from sugar.graphics.menuitem import MenuItem from sugar.graphics.icon import Icon +from sugar.graphics.xocolor import XoColor from sugar.graphics import iconentry from sugar.graphics import style -from sugar import profile from sugar import mime from sugar.datastore import datastore @@ -318,7 +319,9 @@ class EntryToolbar(gtk.Toolbar): self._copy = ToolButton() - icon = Icon(icon_name='edit-copy', xo_color=profile.get_color()) + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + icon = Icon(icon_name='edit-copy', xo_color=color) self._copy.set_icon_widget(icon) icon.show() @@ -417,4 +420,3 @@ class EntryToolbar(gtk.Toolbar): activity_info.get_bundle_id()) palette.menu.append(menu_item) menu_item.show() - diff --git a/src/jarabe/journal/keepicon.py b/src/jarabe/journal/keepicon.py index 8a86c83..c6dc470 100644 --- a/src/jarabe/journal/keepicon.py +++ b/src/jarabe/journal/keepicon.py @@ -16,10 +16,11 @@ import gobject import hippo +import gconf from sugar.graphics.icon import CanvasIcon from sugar.graphics import style -from sugar import profile +from sugar.graphics.xocolor import XoColor class KeepIcon(CanvasIcon): def __init__(self, keep): @@ -27,7 +28,7 @@ class KeepIcon(CanvasIcon): box_width=style.GRID_CELL_SIZE * 3 / 5, size=style.SMALL_ICON_SIZE) self.connect('motion-notify-event', self.__motion_notify_event_cb) - + self._keep = None self.set_keep(keep) @@ -37,7 +38,9 @@ class KeepIcon(CanvasIcon): self._keep = keep if keep: - self.props.xo_color = profile.get_color() + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + self.props.xo_color = color else: self.props.stroke_color = style.COLOR_BUTTON_GREY.get_svg() self.props.fill_color = style.COLOR_TRANSPARENT.get_svg() @@ -54,4 +57,3 @@ class KeepIcon(CanvasIcon): icon.props.fill_color = style.COLOR_BUTTON_GREY.get_svg() elif event.detail == hippo.MOTION_DETAIL_LEAVE: icon.props.fill_color = style.COLOR_TRANSPARENT.get_svg() - diff --git a/src/jarabe/journal/modalalert.py b/src/jarabe/journal/modalalert.py index 6c7bce9..a5a86ab 100644 --- a/src/jarabe/journal/modalalert.py +++ b/src/jarabe/journal/modalalert.py @@ -16,10 +16,11 @@ import gtk from gettext import gettext as _ +import gconf from sugar.graphics.icon import Icon from sugar.graphics import style -from sugar import profile +from sugar.graphics.xocolor import XoColor class ModalAlert(gtk.Window): @@ -47,9 +48,12 @@ class ModalAlert(gtk.Window): self._main_view.add(self._vbox) self._vbox.show() + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + icon = Icon(icon_name='activity-journal', pixel_size=style.XLARGE_ICON_SIZE, - xo_color=profile.get_color()) + xo_color=color) self._vbox.pack_start(icon, False) icon.show() diff --git a/src/jarabe/journal/palettes.py b/src/jarabe/journal/palettes.py index 501e4fb..9ca1190 100644 --- a/src/jarabe/journal/palettes.py +++ b/src/jarabe/journal/palettes.py @@ -16,10 +16,10 @@ from gettext import gettext as _ import logging +import gconf import gtk -from sugar import profile from sugar.graphics import style from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem @@ -65,8 +65,10 @@ class ObjectPalette(Palette): # TODO: Add "Start with" menu item + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) menu_item = MenuItem(_('Copy')) - icon = Icon(icon_name='edit-copy', xo_color=profile.get_color(), + icon = Icon(icon_name='edit-copy', xo_color=color, icon_size=gtk.ICON_SIZE_MENU) menu_item.set_image(icon) menu_item.connect('activate', self.__copy_activate_cb) @@ -102,7 +104,6 @@ class ObjectPalette(Palette): registry.uninstall(bundle) datastore.delete(self._jobject.object_id) - class BuddyPalette(Palette): def __init__(self, buddy): self._buddy = buddy diff --git a/src/jarabe/journal/volumesmanager.py b/src/jarabe/journal/volumesmanager.py index b2ef08d..b7e1e37 100644 --- a/src/jarabe/journal/volumesmanager.py +++ b/src/jarabe/journal/volumesmanager.py @@ -16,11 +16,12 @@ import logging from gettext import gettext as _ +import gconf import gobject import dbus -from sugar import profile +from sugar.graphics.xocolor import XoColor from sugar.datastore import datastore HAL_SERVICE_NAME = 'org.freedesktop.Hal' @@ -52,10 +53,13 @@ class VolumesManager(gobject.GObject): self._volumes = [] + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) + # Internal flash is not in HAL internal_fash_id = datastore.mounts()[0]['id'] self._volumes.append(Volume(internal_fash_id, _('Journal'), - 'activity-journal', profile.get_color(), + 'activity-journal', color, None, False)) bus = dbus.SystemBus() @@ -227,10 +231,12 @@ class VolumesManager(gobject.GObject): volume_name = device.GetProperty('volume.label') if not volume_name: volume_name = device.GetProperty('volume.uuid') + client = gconf.client_get_default() + color = XoColor(client.get_string('/desktop/sugar/user/color')) volume = Volume(mount_id, volume_name, self._get_icon_for_volume(udi), - profile.get_color(), + color, udi, True) self._volumes.append(volume) diff --git a/src/jarabe/journal/volumestoolbar.py b/src/jarabe/journal/volumestoolbar.py index f4f21db..4e5f5db 100644 --- a/src/jarabe/journal/volumestoolbar.py +++ b/src/jarabe/journal/volumestoolbar.py @@ -23,6 +23,7 @@ import gtk from sugar.datastore import datastore from sugar.graphics.radiotoolbutton import RadioToolButton from sugar.graphics.palette import Palette +from sugar.graphics.xocolor import XoColor from jarabe.journal import volumesmanager @@ -134,4 +135,3 @@ class VolumeButton(RadioToolButton): info, timestamp): jobject = datastore.get(selection_data.data) datastore.copy(jobject, self.volume.id) - diff --git a/src/jarabe/model/owner.py b/src/jarabe/model/owner.py index 73beba8..bdfd9a8 100644 --- a/src/jarabe/model/owner.py +++ b/src/jarabe/model/owner.py @@ -18,11 +18,11 @@ import gobject import os import cjson +import gconf from telepathy.interfaces import CHANNEL_TYPE_TEXT from sugar import env -from sugar import profile from sugar.presence import presenceservice from sugar import util from jarabe.model.invites import Invites @@ -46,7 +46,8 @@ class Owner(gobject.GObject): def __init__(self): gobject.GObject.__init__(self) - self._nick = profile.get_nick_name() + client = gconf.client_get_default() + self._nick = client.get_string("/desktop/sugar/user/nick") self._icon = None self._icon_hash = "" diff --git a/src/jarabe/model/shell.py b/src/jarabe/model/shell.py index 334cff8..5c7c8e0 100644 --- a/src/jarabe/model/shell.py +++ b/src/jarabe/model/shell.py @@ -19,6 +19,7 @@ import logging import time import os +import gconf import wnck import gobject import gtk @@ -27,7 +28,6 @@ import dbus from sugar import wm from sugar.graphics.xocolor import XoColor from sugar.presence import presenceservice -from sugar import profile from jarabe.model.bundleregistry import get_registry from jarabe import config @@ -135,8 +135,7 @@ class Activity(gobject.GObject): Uses activity_id to index into the PresenceService's set of activity colours, if the PresenceService does not have an entry (implying that this is not a Sugar-shared application) - uses the local user's profile.get_color() to determine the - colour for the icon. + uses the local user's profile colour for the icon. """ pservice = presenceservice.get_instance() @@ -151,7 +150,8 @@ class Activity(gobject.GObject): if activity != None: return XoColor(activity.props.color) else: - return profile.get_color() + client = gconf.client_get_default() + return XoColor(client.get_string("/desktop/sugar/user/color")) def get_activity_id(self): """Retrieve the "activity_id" passed in to our constructor diff --git a/src/jarabe/model/sound.py b/src/jarabe/model/sound.py index c6cb75f..65090a4 100644 --- a/src/jarabe/model/sound.py +++ b/src/jarabe/model/sound.py @@ -14,7 +14,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -from sugar.profile import get_profile +import gconf + from sugar import env from sugar import _sugarext from sugar import dispatch @@ -46,13 +47,12 @@ def set_muted(new_state): def save(): if env.is_emulator() is False: - profile = get_profile() - profile.sound_volume = get_volume() - profile.save() + client = gconf.client_get_default() + client.set_int('/desktop/sugar/sound/volume', get_volume()) def restore(): if env.is_emulator() is False: - profile = get_profile() - set_volume(profile.sound_volume) + client = gconf.client_get_default() + set_volume(client.get_int('/desktop/sugar/sound/volume')) _volume = _sugarext.VolumeAlsa() diff --git a/src/jarabe/view/keyhandler.py b/src/jarabe/view/keyhandler.py index 1c33f44..1e9a890 100644 --- a/src/jarabe/view/keyhandler.py +++ b/src/jarabe/view/keyhandler.py @@ -22,13 +22,13 @@ import errno import tempfile import time from gettext import gettext as _ +import gconf import dbus import gtk import wnck from sugar._sugarext import KeyGrabber -from sugar import profile from sugar.datastore import datastore from jarabe.model import screen @@ -211,13 +211,17 @@ class KeyHandler(object): screenshot.get_from_drawable(window, window.get_colormap(), x_orig, y_orig, 0, 0, width, height) screenshot.save(file_path, "png") + + client = gconf.client_get_default() + color = client.get_string('/desktop/sugar/user/color') + jobject = datastore.create() try: jobject.metadata['title'] = _('Screenshot') jobject.metadata['keep'] = '0' jobject.metadata['buddies'] = '' - jobject.metadata['preview'] = '' - jobject.metadata['icon-color'] = profile.get_color().to_string() + jobject.metadata['preview'] = '' + jobject.metadata['icon-color'] = color jobject.metadata['mime_type'] = 'image/png' jobject.file_path = file_path datastore.write(jobject, transfer_ownership=True) diff --git a/src/jarabe/view/palettes.py b/src/jarabe/view/palettes.py index 72326c4..fc383c8 100644 --- a/src/jarabe/view/palettes.py +++ b/src/jarabe/view/palettes.py @@ -17,12 +17,12 @@ import os import statvfs from gettext import gettext as _ +import gconf import gobject import gtk from sugar import env -from sugar import profile from sugar.graphics.palette import Palette from sugar.graphics.menuitem import MenuItem from sugar.graphics.icon import Icon @@ -90,8 +90,10 @@ class ActivityPalette(Palette): } def __init__(self, activity_info): + client = gconf.client_get_default() + color = XoColor(client.get_string("/desktop/sugar/user/color")) activity_icon = Icon(file=activity_info.get_icon(), - xo_color=profile.get_color(), + xo_color=color, icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR) Palette.__init__(self, primary_text=activity_info.get_name(), @@ -144,7 +146,8 @@ class ActivityPalette(Palette): style.COLOR_TRANSPARENT.get_svg())) else: label.set_text(_('Make favorite')) - xo_color = profile.get_color() + client = gconf.client_get_default() + xo_color = XoColor(client.get_string("/desktop/sugar/user/color")) self._favorite_icon.props.xo_color = xo_color |