Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/controlpanel/datetime/view.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/controlpanel/datetime/view.py')
-rw-r--r--src/jarabe/controlpanel/datetime/view.py138
1 files changed, 0 insertions, 138 deletions
diff --git a/src/jarabe/controlpanel/datetime/view.py b/src/jarabe/controlpanel/datetime/view.py
deleted file mode 100644
index 58719b4..0000000
--- a/src/jarabe/controlpanel/datetime/view.py
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright (C) 2008, OLPC
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-import gtk
-import gobject
-from gettext import gettext as _
-
-from sugar.graphics import style
-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._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._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,
- 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._scrolled_window = gtk.ScrolledWindow()
- 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)
- zones = model.read_all_timezones()
- for zone in zones:
- self._store.append([zone])
-
- self._treeview = gtk.TreeView(self._store)
- self._treeview.set_search_entry(self._entry)
- self._treeview.set_search_equal_func(self._search)
- self._treeview.set_search_column(0)
- self._scrolled_window.add(self._treeview)
- self._treeview.show()
-
- self._timezone_column = gtk.TreeViewColumn(_('Timezone'))
- self._cell = gtk.CellRendererText()
- self._timezone_column.pack_start(self._cell, True)
- self._timezone_column.add_attribute(self._cell, 'text', 0)
- self._timezone_column.set_sort_column_id(0)
- self._treeview.append_column(self._timezone_column)
-
- self.pack_start(self._scrolled_window)
- self._scrolled_window.show()
-
- self._zone_alert_box = gtk.HBox(spacing=style.DEFAULT_SPACING)
- self.pack_start(self._zone_alert_box, False)
-
- self._zone_alert = InlineAlert()
- self._zone_alert_box.pack_start(self._zone_alert)
- if 'zone' in self.restart_alerts:
- self._zone_alert.props.msg = self.restart_msg
- self._zone_alert.show()
- self._zone_alert_box.show()
-
- self.setup()
-
- def setup(self):
- zone = self._model.get_timezone()
- for row in self._store:
- if zone == row[0]:
- 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)
- break
-
- self.needs_restart = False
- self._cursor_change_handler = self._treeview.connect( \
- "cursor-changed", self.__zone_changed_cd)
-
- def undo(self):
- self._treeview.disconnect(self._cursor_change_handler)
- self._model.undo()
- self._zone_alert.hide()
-
- def __realize_cb(self, widget):
- self._entry.grab_focus()
-
- def _search(self, model, column, key, iterator, data=None):
- value = model.get_value(iterator, column)
- if key.lower() in value.lower():
- return False
- return True
-
- def __zone_changed_cd(self, treeview, data=None):
- list_, row = treeview.get_selection().get_selected()
- if not row:
- 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_timeout_cb, row)
- return True
-
- 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._zone_alert.props.msg = self.restart_msg
- self._zone_alert.show()
- return False