diff options
| author | Huang Peng <shawn.p.huang@gmail.com> | 2008-10-15 07:56:03 +0800 |
|---|---|---|
| committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-10-15 07:56:03 +0800 |
| commit | c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04 (patch) | |
| tree | 84eb31c1940fa8df2cd8b67eb2c34aad3875498e | |
| parent | 5a2f8e1d9d0f14651d9dbd711b77e5f36756fde4 (diff) | |
| download | ibus-c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04.tar.gz ibus-c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04.tar.xz ibus-c56d1b3bf2a2bf9eb6de4bbb985c6ba58c166a04.zip | |
Fix keyboard shortcut setup problems
| -rw-r--r-- | daemon/bus.py | 16 | ||||
| -rw-r--r-- | setup/main.py | 2 |
2 files changed, 17 insertions, 1 deletions
diff --git a/daemon/bus.py b/daemon/bus.py index 2cd9f46..5c5cb3a 100644 --- a/daemon/bus.py +++ b/daemon/bus.py @@ -21,6 +21,7 @@ import sys import ibus +import gobject from ibus import keysyms from ibus import modifier from contextmanager import ContextManager @@ -68,7 +69,9 @@ class IBus(ibus.Object): self.__connections = list() self.__prev_key = None + self.__config_load_settings () + def __config_load_settings (self): self.__shortcut_trigger = self.__load_config_shortcut( "general", "keyboard_shortcut_trigger", ibus.CONFIG_GENERAL_SHORTCUT_TRIGGER_DEFAULT) @@ -526,9 +529,11 @@ class IBus(ibus.Object): self.__config.destroy() self.__config = Config(ibusconn) self.__install_config_handlers() + gobject.idle_add (self.__config_load_settings) def __install_config_handlers(self): signals = ( + ("value-changed", self.__config_value_changed_cb), ("destroy", self.__config_destroy_cb), ) for signal, handler in signals: @@ -552,6 +557,17 @@ class IBus(ibus.Object): return keyval, keymask + def __config_value_changed_cb (self, config, section, name, value): + if section == "general": + if name == "keyboard_shortcut_trigger": + self.__shortcut_trigger = self.__load_config_shortcut( + "general", "keyboard_shortcut_trigger", + ibus.CONFIG_GENERAL_SHORTCUT_TRIGGER_DEFAULT) + elif name =="keyboard_shortcut_next_engine": + self.__shortcut_next_engine = self.__load_config_shortcut( + "general", "keyboard_shortcut_next_engine", + ibus.CONFIG_GENERAL_SHORTCUT_NEXT_ENGINE_DEFAULT) + def __config_destroy_cb(self, config): if config == self.__config: self.__config = DefaultConfig() diff --git a/setup/main.py b/setup/main.py index d595927..c860da8 100644 --- a/setup/main.py +++ b/setup/main.py @@ -259,7 +259,7 @@ class Setup(object): dialog.destroy() if id != gtk.RESPONSE_OK: return - self.__bus.config_set_value(section, name, shortcuts) + self.__bus.config_set_value(section, _name, shortcuts) entry.set_text("; ".join(shortcuts)) |
