Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Schampijer <erikos@localhost.localdomain>2008-10-11 16:19:59 (GMT)
committer Simon Schampijer <erikos@localhost.localdomain>2008-10-11 16:19:59 (GMT)
commit8361ca82ae89ce8b038a4faa8274b2b88cfe81a6 (patch)
treed89a24023f019235a88c104b10fa6a2291bd82c8 /src
parent38cb73f56dd83c58252a27ace7b067109cefa311 (diff)
Use gconf for the profile
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/desktop/activitieslist.py13
-rw-r--r--src/jarabe/desktop/favoritesview.py24
-rw-r--r--src/jarabe/desktop/groupbox.py17
-rw-r--r--src/jarabe/desktop/homebox.py22
-rw-r--r--src/jarabe/desktop/meshbox.py6
-rw-r--r--src/jarabe/desktop/myicon.py8
-rw-r--r--src/jarabe/desktop/schoolserver.py13
-rw-r--r--src/jarabe/frame/activitiestray.py10
-rw-r--r--src/jarabe/frame/clipboardicon.py8
-rw-r--r--src/jarabe/frame/clipboardmenu.py14
-rw-r--r--src/jarabe/frame/eventarea.py33
-rw-r--r--src/jarabe/intro/__init__.py17
-rw-r--r--src/jarabe/intro/window.py9
-rw-r--r--src/jarabe/journal/journaltoolbox.py8
-rw-r--r--src/jarabe/journal/keepicon.py10
-rw-r--r--src/jarabe/journal/modalalert.py8
-rw-r--r--src/jarabe/journal/palettes.py7
-rw-r--r--src/jarabe/journal/volumesmanager.py12
-rw-r--r--src/jarabe/journal/volumestoolbar.py2
-rw-r--r--src/jarabe/model/owner.py5
-rw-r--r--src/jarabe/model/shell.py8
-rw-r--r--src/jarabe/model/sound.py12
-rw-r--r--src/jarabe/view/keyhandler.py10
-rw-r--r--src/jarabe/view/palettes.py9
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