diff options
Diffstat (limited to 'extensions/cpsection/datetime')
-rw-r--r-- | extensions/cpsection/datetime/model.py | 26 | ||||
-rw-r--r-- | extensions/cpsection/datetime/view.py | 42 |
2 files changed, 37 insertions, 31 deletions
diff --git a/extensions/cpsection/datetime/model.py b/extensions/cpsection/datetime/model.py index 76064e4..84e1259 100644 --- a/extensions/cpsection/datetime/model.py +++ b/extensions/cpsection/datetime/model.py @@ -26,18 +26,20 @@ import gconf _zone_tab = '/usr/share/zoneinfo/zone.tab' + def _initialize(): - '''Initialize the docstring of the set function''' + """Initialize the docstring of the set function""" if set_timezone.__doc__ is None: # when running under 'python -OO', all __doc__ fields are None, # so += would fail -- and this function would be unnecessary anyway. return - timezones = read_all_timezones() + timezones = read_all_timezones() for timezone in timezones: - set_timezone.__doc__ += timezone + '\n' - + set_timezone.__doc__ += timezone + '\n' + + def read_all_timezones(fn=_zone_tab): - fd = open (fn, 'r') + fd = open(fn, 'r') lines = fd.readlines() fd.close() timezones = [] @@ -48,7 +50,7 @@ def read_all_timezones(fn=_zone_tab): if len(line) > 1: timezones.append(line[2]) timezones.sort() - + for offset in xrange(-12, 13): if offset < 0: tz = 'GMT%d' % offset @@ -56,7 +58,7 @@ def read_all_timezones(fn=_zone_tab): tz = 'GMT+%d' % offset else: tz = 'GMT' - timezones.append(tz) + timezones.append(tz) for offset in xrange(-12, 13): if offset < 0: tz = 'UTC%d' % offset @@ -64,16 +66,19 @@ def read_all_timezones(fn=_zone_tab): tz = 'UTC+%d' % offset else: tz = 'UTC' - timezones.append(tz) + timezones.append(tz) return timezones + def get_timezone(): client = gconf.client_get_default() return client.get_string('/desktop/sugar/date/timezone') + def print_timezone(): print get_timezone() + def set_timezone(timezone): """Set the system timezone timezone : e.g. 'America/Los_Angeles' @@ -84,9 +89,8 @@ def set_timezone(timezone): client = gconf.client_get_default() client.set_string('/desktop/sugar/date/timezone', timezone) else: - raise ValueError(_("Error timezone does not exist.")) + raise ValueError(_('Error timezone does not exist.')) return 1 -# inilialize the docstrings for the timezone +# inilialize the docstrings for the timezone _initialize() - diff --git a/extensions/cpsection/datetime/view.py b/extensions/cpsection/datetime/view.py index 58719b4..1cef78f 100644 --- a/extensions/cpsection/datetime/view.py +++ b/extensions/cpsection/datetime/view.py @@ -24,36 +24,38 @@ from sugar.graphics import iconentry from jarabe.controlpanel.sectionview import SectionView from jarabe.controlpanel.inlinealert import InlineAlert + class TimeZone(SectionView): def __init__(self, model, alerts): SectionView.__init__(self) self._model = model self.restart_alerts = alerts - self._zone_sid = 0 + self._zone_sid = 0 self._cursor_change_handler = None self.set_border_width(style.DEFAULT_SPACING * 2) self.set_spacing(style.DEFAULT_SPACING) - self.connect("realize", self.__realize_cb) + self.connect('realize', self.__realize_cb) self._entry = iconentry.IconEntry() self._entry.set_icon_from_name(iconentry.ICON_ENTRY_PRIMARY, 'system-search') self._entry.add_clear_button() - self._entry.modify_bg(gtk.STATE_INSENSITIVE, + self._entry.modify_bg(gtk.STATE_INSENSITIVE, style.COLOR_WHITE.get_gdk_color()) - self._entry.modify_base(gtk.STATE_INSENSITIVE, - style.COLOR_WHITE.get_gdk_color()) + self._entry.modify_base(gtk.STATE_INSENSITIVE, + style.COLOR_WHITE.get_gdk_color()) self.pack_start(self._entry, False) - self._entry.show() + self._entry.show() self._scrolled_window = gtk.ScrolledWindow() - self._scrolled_window.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + self._scrolled_window.set_policy(gtk.POLICY_NEVER, + gtk.POLICY_AUTOMATIC) self._scrolled_window.set_shadow_type(gtk.SHADOW_IN) - self._store = gtk.ListStore(gobject.TYPE_STRING) + self._store = gtk.ListStore(gobject.TYPE_STRING) zones = model.read_all_timezones() for zone in zones: self._store.append([zone]) @@ -91,16 +93,16 @@ class TimeZone(SectionView): zone = self._model.get_timezone() for row in self._store: if zone == row[0]: - self._treeview.set_cursor(row.path, self._timezone_column, + self._treeview.set_cursor(row.path, self._timezone_column, False) - self._treeview.scroll_to_cell(row.path, self._timezone_column, - True, 0.5, 0.5) + self._treeview.scroll_to_cell(row.path, self._timezone_column, + True, 0.5, 0.5) break - - self.needs_restart = False + + self.needs_restart = False self._cursor_change_handler = self._treeview.connect( \ - "cursor-changed", self.__zone_changed_cd) - + 'cursor-changed', self.__zone_changed_cd) + def undo(self): self._treeview.disconnect(self._cursor_change_handler) self._model.undo() @@ -121,18 +123,18 @@ class TimeZone(SectionView): return False if self._model.get_timezone() == self._store.get_value(row, 0): return False - + if self._zone_sid: gobject.source_remove(self._zone_sid) - self._zone_sid = gobject.timeout_add(self._APPLY_TIMEOUT, + self._zone_sid = gobject.timeout_add(self._APPLY_TIMEOUT, self.__zone_timeout_cb, row) return True - def __zone_timeout_cb(self, row): - self._zone_sid = 0 + def __zone_timeout_cb(self, row): + self._zone_sid = 0 self._model.set_timezone(self._store.get_value(row, 0)) self.restart_alerts.append('zone') - self.needs_restart = True + self.needs_restart = True self._zone_alert.props.msg = self.restart_msg self._zone_alert.show() return False |