Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSayamindu Dasgupta <sayamindu@gmail.com>2009-09-21 08:55:32 (GMT)
committer Sayamindu Dasgupta <sayamindu@gmail.com>2009-09-21 08:55:32 (GMT)
commite584e14b083816b475dedcda4f677f4828a58730 (patch)
tree8c1f55397dd2f10e562bf3bd59822c20044649c3
parent5683aaac6d62262cd5ed694aeef6917f8778b863 (diff)
Handle situations where keyboard model is stored as '' or None. Completes dslo #1341
-rw-r--r--bin/sugar-session2
-rw-r--r--extensions/cpsection/keyboard/model.py4
-rw-r--r--extensions/cpsection/keyboard/view.py9
3 files changed, 10 insertions, 5 deletions
diff --git a/bin/sugar-session b/bin/sugar-session
index eb38fb8..41c9255 100644
--- a/bin/sugar-session
+++ b/bin/sugar-session
@@ -164,7 +164,7 @@ def setup_keyboard_cb(gconf_client):
model = gconf_client.get_string(\
'/desktop/sugar/peripherals/keyboard/model')
- if model is not None:
+ if model:
configrec.set_model(model)
options = gconf_client.get_list(\
diff --git a/extensions/cpsection/keyboard/model.py b/extensions/cpsection/keyboard/model.py
index b0c48c9..9d61c0c 100644
--- a/extensions/cpsection/keyboard/model.py
+++ b/extensions/cpsection/keyboard/model.py
@@ -133,6 +133,8 @@ class KeyboardManager(object):
def set_model(self, model):
"""Sets the supplied keyboard model"""
+ if model is None or not model:
+ return
self._gconf_client.set_string(_MODEL_KEY, model)
self._configrec.set_model(model)
self._configrec.activate(self._engine)
@@ -150,6 +152,8 @@ class KeyboardManager(object):
def set_layouts(self, layouts):
"""Sets the supplied keyboard layouts (with variants)"""
+ if layouts is None or not layouts:
+ return
self._gconf_client.set_list(_LAYOUTS_KEY, gconf.VALUE_STRING, layouts)
layouts_list = []
variants_list = []
diff --git a/extensions/cpsection/keyboard/view.py b/extensions/cpsection/keyboard/view.py
index 074d298..5527cc8 100644
--- a/extensions/cpsection/keyboard/view.py
+++ b/extensions/cpsection/keyboard/view.py
@@ -204,10 +204,11 @@ class Keyboard(SectionView):
kmodel_combo.add_attribute(cell, 'text', 1)
self._kmodel = self._keyboard_manager.get_current_model()
- for row in kmodel_store:
- if self._kmodel in row[0]:
- kmodel_combo.set_active_iter(row.iter)
- break
+ if self._kmodel is not None:
+ for row in kmodel_store:
+ if self._kmodel in row[0]:
+ kmodel_combo.set_active_iter(row.iter)
+ break
box_kmodel.pack_start(kmodel_combo, expand = False)
self._vbox.pack_start(box_kmodel, expand=False)