summaryrefslogtreecommitdiff
path: root/setup/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup/main.py')
-rw-r--r--setup/main.py31
1 files changed, 28 insertions, 3 deletions
diff --git a/setup/main.py b/setup/main.py
index 47752bd..c412ddb 100644
--- a/setup/main.py
+++ b/setup/main.py
@@ -31,6 +31,11 @@ class AnthySetup(object):
'half_width_symbol', 'half_width_number']:
xml.get_widget(name).set_active(prefs.get_value('common', name))
+ l = ['default', 'atok', 'wnn']
+ s_type = prefs.get_value('common', 'shortcut_type')
+ s_type = s_type if s_type in l else 'default'
+ xml.get_widget('shortcut_type').set_active(l.index(s_type))
+
xml.get_widget('page_size').set_value(prefs.get_value('common',
'page_size'))
@@ -44,7 +49,7 @@ class AnthySetup(object):
tv.get_selection().connect_after('changed',
self.on_selection_changed, 0)
ls = gtk.ListStore(str, str)
- sec = 'shortcut/default'
+ sec = 'shortcut/' + s_type
for k in self.prefs.keys(sec):
ls.append([k, l_to_s(self.prefs.get_value(sec, k))])
tv.set_model(ls)
@@ -125,19 +130,39 @@ class AnthySetup(object):
if id == gtk.RESPONSE_OK:
new = l_to_s([m[i][0] for i in range(len(m))])
if new != ls.get(it, 1)[0]:
- self.prefs.set_value('shortcut/default', ls.get(it, 0)[0], s_to_l(new))
+ sec = self._get_shortcut_sec()
+ self.prefs.set_value(sec, ls.get(it, 0)[0], s_to_l(new))
ls.set(it, 1, new)
self.xml.get_widget('btn_apply').set_sensitive(True)
def on_btn_default_clicked(self, widget):
ls, it = self.xml.get_widget('shortcut').get_selection().get_selected()
- sec = 'shortcut/default'
+ sec = self._get_shortcut_sec()
new = l_to_s(self.prefs.default[sec][ls.get(it, 0)[0]])
if new != ls.get(it, 1)[0]:
self.prefs.set_value(sec, ls.get(it, 0)[0], s_to_l(new))
ls.set(it, 1, new)
self.xml.get_widget('btn_apply').set_sensitive(True)
+ def _get_shortcut_sec(self):
+ l = ['default', 'atok', 'wnn']
+ s_type = self.xml.get_widget('shortcut_type').get_active_text().lower()
+ return 'shortcut/' + s_type if s_type in l else 'default'
+
+ def on_shortcut_type_changed(self, widget):
+ ls = self.xml.get_widget('shortcut').get_model()
+ ls.clear()
+
+ for a in widget.get_model():
+ print a[0]
+
+ sec = self._get_shortcut_sec()
+ for k in self.prefs.keys(sec):
+ ls.append([k, l_to_s(self.prefs.get_value(sec, k))])
+
+ self.prefs.set_value('common', widget.name, sec[len('shortcut/'):])
+ self.xml.get_widget('btn_apply').set_sensitive(True)
+
def on_shortcut_key_release_event(self, widget, event):
if event.hardware_keycode in [36, 65]:
self.on_btn_edit_clicked(None)