Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: ibus/bus.py

Issue 1735020: Support changing the global input method engine without focus. (Closed) Base URL: ssh://git@chromiumos-git/ibus.git
Patch Set: Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « bus/ibusimpl.c ('k') | ibus/interface/iibus.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ibus/bus.py
diff --git a/ibus/bus.py b/ibus/bus.py
index ca5d2d9b64f697e7b61282a467138cd42dcc38a0..daa6fe7380437ae505fa2b2431a56ccca3c67807 100644
--- a/ibus/bus.py
+++ b/ibus/bus.py
@@ -54,6 +54,11 @@ class Bus(object.Object):
gobject.TYPE_NONE,
()
),
+ "global-engine-changed" : (
+ gobject.SIGNAL_RUN_LAST,
+ gobject.TYPE_NONE,
+ ()
+ ),
}
def __init__(self):
@@ -65,6 +70,8 @@ class Bus(object.Object):
self.__ibus = self.__dbusconn.get_object(common.IBUS_SERVICE_IBUS,
common.IBUS_PATH_IBUS)
self.__ibus.connect_to_signal("RegistryChanged", self.__registry_changed_cb)
+ self.__ibus.connect_to_signal("GlobalEngineChanged",
+ self.__global_engine_changed_cb)
self.__dbusconn.call_on_disconnection(self.__dbusconn_disconnected_cb)
# self.__dbusconn.add_message_filter(self.__filter_cb)
@@ -84,6 +91,9 @@ class Bus(object.Object):
def __registry_changed_cb(self):
self.emit("registry-changed")
+ def __global_engine_changed_cb(self):
+ self.emit("global-engine-changed")
+
def get_name(self):
return self.__unique_name
@@ -152,7 +162,24 @@ class Bus(object.Object):
return data
def get_use_sys_layout(self):
- return self.__ibus.GetUseSysLayout();
+ return self.__ibus.GetUseSysLayout()
+
+ def get_use_global_engine(self):
+ return self.__ibus.GetUseGlobalEngine()
+
+ def get_global_engine(self):
+ try:
+ engine = self.__ibus.GetGlobalEngine()
+ engine = serializable.deserialize_object(engine)
+ return engine
+ except:
+ return None
+
+ def set_global_engine(self, engine):
+ return self.__ibus.SetGlobalEngine(engine.name)
+
+ def is_global_engine_enabled(self):
+ return self.__ibus.IsGlobalEngineEnabled()
def introspect_ibus(self):
return self.__ibus.Introspect()
« no previous file with comments | « bus/ibusimpl.c ('k') | ibus/interface/iibus.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698