diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | packaging/ise-default.spec | 1 | ||||
-rw-r--r-- | src/ise.cpp | 23 |
3 files changed, 22 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5261262..ac1cf11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,6 +103,7 @@ SET(PKGS_CHECK_MODULES bundle rpc-port capi-appfw-event + notification ) IF (with_cbhm) diff --git a/packaging/ise-default.spec b/packaging/ise-default.spec index 9ad0501..0b6adab 100644 --- a/packaging/ise-default.spec +++ b/packaging/ise-default.spec @@ -35,6 +35,7 @@ BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(bundle) BuildRequires: pkgconfig(rpc-port) BuildRequires: pkgconfig(capi-appfw-event) +BuildRequires: pkgconfig(notification) Requires: ise-engine-glm Requires: ise-engine-default diff --git a/src/ise.cpp b/src/ise.cpp index 7c850da..1d80c7c 100644 --- a/src/ise.cpp +++ b/src/ise.cpp @@ -31,6 +31,7 @@ #include <app_control.h> #include <app_preference.h> #include <ode/internal-encryption.h> +#include <notification.h> #include "clipboard.h" #include "autofill.h" #include "ise.h" @@ -3066,10 +3067,26 @@ static bool ime_app_process_key_event_cb(ime_key_code_e keycode, ime_key_mask_e key.dev_subclass = dev_subclass; } - if (keyboard_state->visible_state) + if (keyboard_state->visible_state) { ise_process_key_event(key, ret); - else - ret = FALSE; + } else { + if (key.code == IME_KEY_space && (key.mask & IME_KEY_MASK_SHIFT)) { + if (key.mask & IME_KEY_MASK_RELEASED) { + if (_language_manager.select_next_language()) { + LANGUAGE_INFO *info = _language_manager.get_language_info(_language_manager.get_current_language()); + if (info) { + notification_status_message_post(info->display_name.c_str()); + } + } else { + LOGE("Failed to change language"); + } + } + + ret = TRUE; + } else { + ret = FALSE; + } + } if (dev_name) free(dev_name); |