Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions/cpsection/keyboard/model.py
diff options
context:
space:
mode:
authorSayamindu Dasgupta <sayamindu@gmail.com>2009-08-16 21:38:07 (GMT)
committer Sayamindu Dasgupta <sayamindu@gmail.com>2009-08-16 21:38:07 (GMT)
commitc7721cce946a26dd99d945cddee26431b8d3b66a (patch)
tree2eb1c6b08b0e7c747d24f1b428c55daa3a6b744f /extensions/cpsection/keyboard/model.py
parent2d848947cbcb97b45de16e49153aff70cc58da2c (diff)
Implement *_set() support for model, layout and layout switching option
Diffstat (limited to 'extensions/cpsection/keyboard/model.py')
-rw-r--r--extensions/cpsection/keyboard/model.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/extensions/cpsection/keyboard/model.py b/extensions/cpsection/keyboard/model.py
index 9828963..9bc90eb 100644
--- a/extensions/cpsection/keyboard/model.py
+++ b/extensions/cpsection/keyboard/model.py
@@ -116,3 +116,29 @@ class XKB(gobject.GObject):
def get_max_layouts(self):
return self._engine.get_max_num_groups()
+
+ def set_model(self, model):
+ #XXX: Which one goes first ?
+ self._gconf_client.set_string(MODEL_KEY, model)
+ self._configrec.set_model(model)
+ self._configrec.activate(self._engine)
+
+ def set_option_grp(self, option_grp):
+ #XXX: Take a backup of existing settings first (there may be other hand set values)
+ options = [option_grp]
+ self._gconf_client.set_list(OPTIONS_KEY, gconf.VALUE_STRING, options)
+ self._configrec.set_options(options)
+ self._configrec.activate(self._engine)
+
+ def set_layouts(self, layouts):
+ self._gconf_client.set_list(LAYOUTS_KEY, gconf.VALUE_STRING, layouts)
+ layouts_list = []
+ variants_list = []
+ for layout in layouts:
+ layouts_list.append(layout.split('(')[0])
+ variants_list.append(layout.split('(')[1][:-1])
+
+ self._configrec.set_layouts(layouts_list)
+ self._configrec.set_variants(variants_list)
+ self._configrec.activate(self._engine)
+