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 --- (limited to 'extensions') 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