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 /extensions | |
parent | 38cb73f56dd83c58252a27ace7b067109cefa311 (diff) |
Use gconf for the profile
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/cpsection/aboutme/__init__.py | 7 | ||||
-rw-r--r-- | extensions/cpsection/aboutme/model.py | 35 | ||||
-rw-r--r-- | extensions/cpsection/aboutme/view.py | 25 | ||||
-rw-r--r-- | extensions/cpsection/datetime/model.py | 12 | ||||
-rw-r--r-- | extensions/cpsection/frame/model.py | 31 | ||||
-rw-r--r-- | extensions/cpsection/frame/view.py | 6 | ||||
-rw-r--r-- | extensions/cpsection/network/model.py | 19 | ||||
-rw-r--r-- | extensions/cpsection/power/model.py | 22 | ||||
-rw-r--r-- | extensions/deviceicon/battery.py | 10 | ||||
-rw-r--r-- | extensions/deviceicon/speaker.py | 11 | ||||
-rw-r--r-- | extensions/deviceicon/wireless.py | 9 |
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() |