Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions
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 /extensions
parent38cb73f56dd83c58252a27ace7b067109cefa311 (diff)
Use gconf for the profile
Diffstat (limited to 'extensions')
-rw-r--r--extensions/cpsection/aboutme/__init__.py7
-rw-r--r--extensions/cpsection/aboutme/model.py35
-rw-r--r--extensions/cpsection/aboutme/view.py25
-rw-r--r--extensions/cpsection/datetime/model.py12
-rw-r--r--extensions/cpsection/frame/model.py31
-rw-r--r--extensions/cpsection/frame/view.py6
-rw-r--r--extensions/cpsection/network/model.py19
-rw-r--r--extensions/cpsection/power/model.py22
-rw-r--r--extensions/deviceicon/battery.py10
-rw-r--r--extensions/deviceicon/speaker.py11
-rw-r--r--extensions/deviceicon/wireless.py9
11 files changed, 88 insertions, 99 deletions
diff --git a/extensions/cpsection/aboutme/__init__.py b/extensions/cpsection/aboutme/__init__.py
index b683e28..98843e1 100644
--- a/extensions/cpsection/aboutme/__init__.py
+++ b/extensions/cpsection/aboutme/__init__.py
@@ -15,11 +15,14 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
from gettext import gettext as _
-from sugar import profile
+import gconf
+
+from sugar.graphics.xocolor import XoColor
CLASS = 'AboutMe'
ICON = 'module-about_me'
TITLE = _('About Me')
-COLOR = profile.get_color()
+client = gconf.client_get_default()
+COLOR = XoColor(client.get_string('/desktop/sugar/user/color'))
diff --git a/extensions/cpsection/aboutme/model.py b/extensions/cpsection/aboutme/model.py
index 3818792..8500799 100644
--- a/extensions/cpsection/aboutme/model.py
+++ b/extensions/cpsection/aboutme/model.py
@@ -16,9 +16,7 @@
#
from gettext import gettext as _
-
-from sugar import profile
-from sugar.graphics.xocolor import XoColor
+import gconf
_COLORS = {'red': {'dark':'#b20008', 'medium':'#e6000a', 'light':'#ffadce'},
'orange': {'dark':'#9a5200', 'medium':'#c97e00', 'light':'#ffc169'},
@@ -31,7 +29,8 @@ _COLORS = {'red': {'dark':'#b20008', 'medium':'#e6000a', 'light':'#ffadce'},
_MODIFIERS = ('dark', 'medium', 'light')
def get_nick():
- return profile.get_nick_name()
+ client = gconf.client_get_default()
+ return client.get_string("/desktop/sugar/user/nick")
def print_nick():
print get_nick()
@@ -42,18 +41,18 @@ def set_nick(nick):
"""
if not nick:
raise ValueError(_("You must enter a name."))
- pro = profile.get_profile()
if not isinstance(nick, unicode):
nick = unicode(nick, 'utf-8')
- pro.nick_name = nick
- pro.save()
+ client = gconf.client_get_default()
+ client.set_string("/desktop/sugar/user/nick", nick)
return 1
-def get_color():
- return profile.get_color()
+def get_color():
+ client = gconf.client_get_default()
+ return client.get_string("/desktop/sugar/user/color")
def print_color():
- color_string = get_color().to_string()
+ color_string = get_color()
tmp = color_string.split(',')
stroke_tuple = None
@@ -98,19 +97,19 @@ def set_color(stroke, fill, stroke_modifier='medium', fill_modifier='medium'):
color = _COLORS[stroke][stroke_modifier] + ',' \
+ _COLORS[fill][fill_modifier]
- pro = profile.get_profile()
- pro.color = XoColor(color)
- pro.save()
+
+ client = gconf.client_get_default()
+ client.set_string("/desktop/sugar/user/color", color)
return 1
-def get_color_xo():
- return profile.get_color()
+def get_color_xo():
+ client = gconf.client_get_default()
+ return client.get_string("/desktop/sugar/user/color")
def set_color_xo(color):
"""Set a color with an XoColor
This method is used by the graphical user interface
"""
- pro = profile.get_profile()
- pro.color = color
- pro.save()
+ client = gconf.client_get_default()
+ client.set_string("/desktop/sugar/user/color", color)
return 1
diff --git a/extensions/cpsection/aboutme/view.py b/extensions/cpsection/aboutme/view.py
index fc4f351..cabd66a 100644
--- a/extensions/cpsection/aboutme/view.py
+++ b/extensions/cpsection/aboutme/view.py
@@ -21,16 +21,10 @@ from gettext import gettext as _
from sugar.graphics.icon import Icon
from sugar.graphics import style
from sugar.graphics.xocolor import XoColor
-from sugar import profile
from jarabe.controlpanel.sectionview import SectionView
from jarabe.controlpanel.inlinealert import InlineAlert
-CLASS = 'AboutMe'
-ICON = 'module-about_me'
-COLOR = profile.get_color()
-TITLE = _('About Me')
-
class EventIcon(gtk.EventBox):
__gtype_name__ = "SugarEventIcon"
def __init__(self, **kwargs):
@@ -49,7 +43,7 @@ class ColorPicker(EventIcon):
__gsignals__ = {
'color-changed': (gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE,
- ([object]))
+ ([str]))
}
def __init__(self, xocolor=None):
EventIcon.__init__(self)
@@ -64,7 +58,7 @@ class ColorPicker(EventIcon):
def _set_random_colors(self):
xocolor = XoColor()
self.icon.props.xo_color = xocolor
- self.emit('color-changed', xocolor)
+ self.emit('color-changed', xocolor.to_string())
class AboutMe(SectionView):
def __init__(self, model, alerts):
@@ -160,7 +154,8 @@ class AboutMe(SectionView):
def setup(self):
self._nick_entry.set_text(self._model.get_nick())
- self._color_picker.icon.props.xo_color = self._model.get_color_xo()
+ color = XoColor(self._model.get_color_xo())
+ self._color_picker.icon.props.xo_color = color
self._color_valid = True
self._nick_valid = True
@@ -198,13 +193,12 @@ class AboutMe(SectionView):
self._model.set_nick(widget.get_text())
except ValueError, detail:
self._nick_alert.props.msg = detail
- self._nick_valid = False
+ self._nick_valid = False
else:
self._nick_alert.props.msg = self.restart_msg
- self._nick_valid = True
+ self._nick_valid = True
self.needs_restart = True
self.restart_alerts.append('nick')
-
self._validate()
self._nick_alert.show()
return False
@@ -218,9 +212,4 @@ class AboutMe(SectionView):
self._validate()
self._color_alert.show()
-
-
-
-
-
-
+ return False
diff --git a/extensions/cpsection/datetime/model.py b/extensions/cpsection/datetime/model.py
index 4a4c560..76064e4 100644
--- a/extensions/cpsection/datetime/model.py
+++ b/extensions/cpsection/datetime/model.py
@@ -22,8 +22,7 @@
import os
from gettext import gettext as _
-
-from sugar import profile
+import gconf
_zone_tab = '/usr/share/zoneinfo/zone.tab'
@@ -69,8 +68,8 @@ def read_all_timezones(fn=_zone_tab):
return timezones
def get_timezone():
- pro = profile.get_profile()
- return pro.timezone
+ client = gconf.client_get_default()
+ return client.get_string('/desktop/sugar/date/timezone')
def print_timezone():
print get_timezone()
@@ -82,9 +81,8 @@ def set_timezone(timezone):
timezones = read_all_timezones()
if timezone in timezones:
os.environ['TZ'] = timezone
- pro = profile.get_profile()
- pro.timezone = timezone
- pro.save()
+ client = gconf.client_get_default()
+ client.set_string('/desktop/sugar/date/timezone', timezone)
else:
raise ValueError(_("Error timezone does not exist."))
return 1
diff --git a/extensions/cpsection/frame/model.py b/extensions/cpsection/frame/model.py
index 0e19703..9eea9ad 100644
--- a/extensions/cpsection/frame/model.py
+++ b/extensions/cpsection/frame/model.py
@@ -16,12 +16,12 @@
#
from gettext import gettext as _
-
-from sugar import profile
+import gconf
def get_corner_delay():
- pro = profile.get_profile()
- return pro.hot_corners_delay
+ client = gconf.client_get_default()
+ corner_delay = client.get_int('/desktop/sugar/frame/corner_delay')
+ return corner_delay
def print_corner_delay():
print get_corner_delay()
@@ -35,15 +35,15 @@ def set_corner_delay(delay):
try:
int(delay)
except ValueError:
- raise ValueError(_("Value must be an integer."))
- pro = profile.get_profile()
- pro.hot_corners_delay = int(delay)
- pro.save()
- return 1
+ raise ValueError(_("Value must be an integer."))
+ client = gconf.client_get_default()
+ client.set_int('/desktop/sugar/frame/corner_delay', int(delay))
+ return 0
def get_edge_delay():
- pro = profile.get_profile()
- return pro.warm_edges_delay
+ client = gconf.client_get_default()
+ edge_delay = client.get_int('/desktop/sugar/frame/edge_delay')
+ return edge_delay
def print_edge_delay():
print get_edge_delay()
@@ -57,8 +57,7 @@ def set_edge_delay(delay):
try:
int(delay)
except ValueError:
- raise ValueError(_("Value must be an integer."))
- pro = profile.get_profile()
- pro.warm_edges_delay = int(delay)
- pro.save()
- return 1
+ raise ValueError(_("Value must be an integer."))
+ client = gconf.client_get_default()
+ client.set_int('/desktop/sugar/frame/edge_delay', int(delay))
+ return 0
diff --git a/extensions/cpsection/frame/view.py b/extensions/cpsection/frame/view.py
index 7ab7bd2..cbe43bb 100644
--- a/extensions/cpsection/frame/view.py
+++ b/extensions/cpsection/frame/view.py
@@ -26,7 +26,7 @@ from jarabe.controlpanel.inlinealert import InlineAlert
_never = _('never')
_instantaneous = _('instantaneous')
_seconds_label = _('%s seconds')
-_MAX_DELAY = 1000.0
+_MAX_DELAY = 1000
class Frame(SectionView):
def __init__(self, model, alerts):
@@ -193,7 +193,7 @@ class Frame(SectionView):
def __corner_delay_format_cb(self, scale, value):
if value == _MAX_DELAY:
return _never
- elif value == 0.0:
+ elif value == 0:
return _instantaneous
else:
return _seconds_label % (value / _MAX_DELAY)
@@ -226,7 +226,7 @@ class Frame(SectionView):
def __edge_delay_format_cb(self, scale, value):
if value == _MAX_DELAY:
return _never
- elif value == 0.0:
+ elif value == 0:
return _instantaneous
else:
return _seconds_label % (value / _MAX_DELAY)
diff --git a/extensions/cpsection/network/model.py b/extensions/cpsection/network/model.py
index 101297c..90a448f 100644
--- a/extensions/cpsection/network/model.py
+++ b/extensions/cpsection/network/model.py
@@ -17,8 +17,7 @@
import dbus
from gettext import gettext as _
-
-from sugar import profile
+import gconf
from jarabe.model.network import get_manager
@@ -36,8 +35,8 @@ class ReadError(Exception):
return repr(self.value)
def get_jabber():
- pro = profile.get_profile()
- return pro.jabber_server
+ client = gconf.client_get_default()
+ return client.get_string('/desktop/sugar/collaboration/jabber_server')
def print_jabber():
print get_jabber()
@@ -46,10 +45,9 @@ def set_jabber(server):
"""Set the jabber server
server : e.g. 'olpc.collabora.co.uk'
"""
- pro = profile.get_profile()
- pro.jabber_server = server
- pro.jabber_registered = False
- pro.save()
+ client = gconf.client_get_default()
+ client.set_string('/desktop/sugar/collaboration/jabber_server', server)
+ client.set_bool('/desktop/sugar/collaboration/jabber_registered', False)
return 1
def get_radio():
@@ -87,9 +85,8 @@ def set_radio(state):
def clear_registration():
"""Clear the registration with the schoolserver
"""
- pro = profile.get_profile()
- pro.backup1 = None
- pro.save()
+ client = gconf.client_get_default()
+ client.set_string('/desktop/sugar/backup_url', '')
return 1
def clear_networks():
diff --git a/extensions/cpsection/power/model.py b/extensions/cpsection/power/model.py
index 47af483..c76035d 100644
--- a/extensions/cpsection/power/model.py
+++ b/extensions/cpsection/power/model.py
@@ -16,8 +16,8 @@
#
from gettext import gettext as _
+import gconf
-from sugar import profile
import dbus
OHM_SERVICE_NAME = 'org.freedesktop.ohm'
@@ -31,9 +31,8 @@ class ReadError(Exception):
return repr(self.value)
def get_automatic_pm():
- pro = profile.get_profile()
- ret = pro.automatic_pm
- return ret
+ client = gconf.client_get_default()
+ return client.get_bool('/desktop/sugar/power/automatic')
def print_automatic_pm():
print ('off', 'on')[get_automatic_pm()]
@@ -54,15 +53,13 @@ def set_automatic_pm(enabled):
else:
raise ValueError(_("Error in automatic pm argument, use on/off."))
- pro = profile.get_profile()
- pro.automatic_pm = enabled
- pro.save()
+ client = gconf.client_get_default()
+ client.set_bool('/desktop/sugar/power/automatic', enabled)
return 0
def get_extreme_pm():
- pro = profile.get_profile()
- ret = pro.extreme_pm
- return ret
+ client = gconf.client_get_default()
+ return client.get_bool('/desktop/sugar/power/extreme')
def print_extreme_pm():
print ('off', 'on')[get_extreme_pm()]
@@ -83,7 +80,6 @@ def set_extreme_pm(enabled):
else:
raise ValueError(_("Error in extreme pm argument, use on/off."))
- pro = profile.get_profile()
- pro.extreme_pm = enabled
- pro.save()
+ client = gconf.client_get_default()
+ client.set_bool('/desktop/sugar/power/extreme', enabled)
return 0
diff --git a/extensions/deviceicon/battery.py b/extensions/deviceicon/battery.py
index 37691b4..c9d621e 100644
--- a/extensions/deviceicon/battery.py
+++ b/extensions/deviceicon/battery.py
@@ -16,12 +16,12 @@
import logging
from gettext import gettext as _
+import gconf
import gobject
import gtk
import dbus
-from sugar import profile
from sugar.graphics import style
from sugar.graphics.icon import get_icon_state
from sugar.graphics.tray import TrayIcon
@@ -45,8 +45,10 @@ class DeviceView(TrayIcon):
FRAME_POSITION_RELATIVE = 1000
def __init__(self, udi):
- TrayIcon.__init__(self, icon_name=_ICON_NAME,
- xo_color=profile.get_color())
+ client = gconf.client_get_default()
+ self._color = XoColor(client.get_string('/desktop/sugar/user/color'))
+
+ TrayIcon.__init__(self, icon_name=_ICON_NAME, xo_color=self._color)
self._model = DeviceModel(udi)
self.palette = BatteryPalette(_('My Battery'))
@@ -65,7 +67,7 @@ class DeviceView(TrayIcon):
def _update_info(self):
name = _ICON_NAME
current_level = self._model.props.level
- xo_color = profile.get_color()
+ xo_color = self._color
badge_name = None
if self._model.props.charging:
diff --git a/extensions/deviceicon/speaker.py b/extensions/deviceicon/speaker.py
index b62ae65..5497873 100644
--- a/extensions/deviceicon/speaker.py
+++ b/extensions/deviceicon/speaker.py
@@ -15,11 +15,11 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
from gettext import gettext as _
+import gconf
import gobject
import gtk
-from sugar import profile
from sugar.graphics import style
from sugar.graphics.icon import get_icon_state, Icon
from sugar.graphics.menuitem import MenuItem
@@ -37,9 +37,10 @@ class DeviceView(TrayIcon):
FRAME_POSITION_RELATIVE = 800
def __init__(self):
- TrayIcon.__init__(self,
- icon_name=_ICON_NAME,
- xo_color=profile.get_color())
+ client = gconf.client_get_default()
+ self._color = XoColor(client.get_string('/desktop/sugar/user/color'))
+
+ TrayIcon.__init__(self, icon_name=_ICON_NAME, xo_color=self._color)
self._model = DeviceModel()
self.palette = SpeakerPalette(_('My Speakers'), model=self._model)
@@ -59,7 +60,7 @@ class DeviceView(TrayIcon):
def _update_info(self):
name = _ICON_NAME
current_level = self._model.props.level
- xo_color = profile.get_color()
+ xo_color = self._color
if self._model.props.muted:
name += '-muted'
diff --git a/extensions/deviceicon/wireless.py b/extensions/deviceicon/wireless.py
index 1544526..dcaffd3 100644
--- a/extensions/deviceicon/wireless.py
+++ b/extensions/deviceicon/wireless.py
@@ -17,15 +17,16 @@
import logging
from gettext import gettext as _
+import gconf
import gobject
import gtk
from sugar.graphics.icon import get_icon_state
+from sugar.graphics.xocolor import XoColor
from sugar.graphics.tray import TrayIcon
from sugar.graphics import style
from sugar.graphics.palette import Palette
-from sugar import profile
from jarabe.model import network
from jarabe.frame.frameinvoker import FrameWidgetInvoker
@@ -169,6 +170,10 @@ class MeshDeviceView(TrayIcon):
self.model.connect('notify::state', self._state_changed_cb)
self.model.connect('notify::activation-stage', self._state_changed_cb)
+
+ client = gconf.client_get_default()
+ self._color = XoColor(client.get_string('/desktop/sugar/user/color'))
+
self._update_state()
def _state_changed_cb(self, model, pspec):
@@ -183,7 +188,7 @@ class MeshDeviceView(TrayIcon):
self.icon.props.fill_color = style.COLOR_INACTIVE_FILL.get_svg()
self.icon.props.stroke_color = style.COLOR_INACTIVE_STROKE.get_svg()
elif state == STATE_ACTIVATED:
- self.icon.props.xo_color = profile.get_color()
+ self.icon.props.xo_color = self._color
elif state == STATE_INACTIVE:
self.icon.props.fill_color = style.COLOR_INACTIVE_FILL.get_svg()
self.icon.props.stroke_color = style.COLOR_INACTIVE_STROKE.get_svg()