From e584e14b083816b475dedcda4f677f4828a58730 Mon Sep 17 00:00:00 2001 From: Sayamindu Dasgupta Date: Mon, 21 Sep 2009 08:55:32 +0000 Subject: Handle situations where keyboard model is stored as '' or None. Completes dslo #1341 --- 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) -- cgit v0.9.1