summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--packaging/ise-default.spec1
-rw-r--r--src/ise.cpp23
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);