summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfujiwarat <takao.fujiwara1@gmail.com>2014-06-24 11:24:40 +0900
committerfujiwarat <takao.fujiwara1@gmail.com>2014-06-24 11:24:40 +0900
commita5300750e38b5327bdd255d777544d0c0ebcb4d9 (patch)
treeb530d86850274c3bf9447e5c0a2d73d77a2f1a82
parent38fa3e8a57262e4d76afe9bc348d14cc37af5cfc (diff)
downloadibus-a5300750e38b5327bdd255d777544d0c0ebcb4d9.tar.gz
Do not sort ibus engines when they are saved by ibus-setup.
ibus 1.5 changes the engine order with Super+space shortcut key and now ibus-setup shows the sorted engines by longname on UI. This fixes not to save the sorted order with ibus-setup. TEST=setup Review URL: https://codereview.appspot.com/102610044
-rw-r--r--setup/enginetreeview.py13
-rw-r--r--setup/main.py3
2 files changed, 10 insertions, 6 deletions
diff --git a/setup/enginetreeview.py b/setup/enginetreeview.py
index b116c54f..3ab81b77 100644
--- a/setup/enginetreeview.py
+++ b/setup/enginetreeview.py
@@ -47,7 +47,7 @@ class EngineTreeView(Gtk.TreeView):
def __init__(self):
super(EngineTreeView, self).__init__()
- self.__engines = set([])
+ self.__engines = []
self.__changed = False
# self.set_headers_visible(True)
@@ -186,13 +186,13 @@ class EngineTreeView(Gtk.TreeView):
def set_engines(self, engines):
self.__model.clear()
- self.__engines = set([])
+ self.__engines = []
for e in engines:
if e in self.__engines:
continue
it = self.__model.append(None)
self.__model.set(it, 0, e)
- self.__engines.add(e)
+ self.__engines.append(e)
self.__emit_changed()
def get_selected_iter(self):
@@ -201,6 +201,9 @@ class EngineTreeView(Gtk.TreeView):
return selection.get_selected()[1]
def get_engines(self):
+ return self.__engines
+
+ def get_sorted_engines(self):
return self.get_property("engines")
def get_active_engine(self):
@@ -211,7 +214,7 @@ class EngineTreeView(Gtk.TreeView):
return
it = self.__model.prepend(None)
self.__model.set(it, 0, engine)
- self.__engines.add(engine)
+ self.__engines = [engine] + self.__engines
self.scroll_to_cell(self.__model[0].path, None)
def append_engine(self, engine):
@@ -219,7 +222,7 @@ class EngineTreeView(Gtk.TreeView):
return
it = self.__model.append(None)
self.__model.set(it, 0, engine)
- self.__engines.add(engine)
+ self.__engines.append(engine)
self.scroll_to_cell(self.__model[-1].path, None)
def remove_engine(self):
diff --git a/setup/main.py b/setup/main.py
index dee7be4d..1d89f3dd 100644
--- a/setup/main.py
+++ b/setup/main.py
@@ -274,7 +274,7 @@ class Setup(object):
if prop.name not in ("active-engine", "engines"):
return
- engines = self.__treeview.get_engines()
+ engines = self.__treeview.get_sorted_engines()
engine = self.__treeview.get_active_engine()
self.__builder.get_object("button_engine_remove").set_sensitive(engine != None)
@@ -289,6 +289,7 @@ class Setup(object):
obj.set_sensitive(False)
if prop.name == "engines":
+ engines = self.__treeview.get_engines()
engine_names = [e.get_name() for e in engines]
self.__settings_general.set_strv('preload-engines', engine_names)