Support show and hide input panel event 03/58703/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 3 Feb 2016 02:54:53 +0000 (11:54 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 3 Feb 2016 02:54:53 +0000 (11:54 +0900)
Change-Id: Ibc4236b8a587d7774ae969d5317ed7918bfbe9ba

ism/extras/efl_wsc/isf_wsc_control_ui.cpp
ism/extras/efl_wsc/isf_wsc_efl.cpp

index daa59f9..6dc10b0 100644 (file)
@@ -139,6 +139,9 @@ void isf_wsc_context_input_panel_show (WSCContextISF* ctx)
 
     iseContext.input_hint = wsc_context_input_hint_get (ctx->ctx);
 
+    /* FIXME */
+    iseContext.bidi_direction = ECORE_IMF_BIDI_DIRECTION_NEUTRAL;
+
     LOGD ("ctx : %p, layout : %d, layout variation : %d\n", ctx, iseContext.layout, iseContext.layout_variation);
     LOGD ("language : %d, cursor position : %d, caps mode : %d\n", iseContext.language, iseContext.cursor_pos, iseContext.caps_mode);
     LOGD ("return_key_type : %d, return_key_disabled : %d, autocapital type : %d\n", iseContext.return_key_type, iseContext.return_key_disabled, iseContext.autocapital_type);
index 3e495cc..a94406a 100644 (file)
@@ -137,8 +137,6 @@ _wsc_im_ctx_content_type(void *data, struct wl_input_method_context *im_ctx, uin
         caps_mode_check (wsc->wsc_ctx, EINA_TRUE, EINA_TRUE);
 
         wsc->context_changed = EINA_FALSE;
-
-        isf_wsc_context_input_panel_show (wsc->wsc_ctx);
     }
 }
 
@@ -453,7 +451,6 @@ _wsc_im_activate(void *data, struct wl_input_method *input_method, struct wl_inp
 
     wsc->context_changed = EINA_TRUE;
     isf_wsc_context_focus_in (wsc->wsc_ctx);
-    isf_wsc_context_input_panel_show (wsc->wsc_ctx);
 }
 
 static void
@@ -473,9 +470,31 @@ _wsc_im_deactivate(void *data, struct wl_input_method *input_method, struct wl_i
     }
 }
 
+static void
+_wsc_im_show_input_panel(void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx)
+{
+    struct weescim *wsc = (weescim*)data;
+    if (!wsc) return;
+
+    if (wsc->wsc_ctx)
+        isf_wsc_context_input_panel_show (wsc->wsc_ctx);
+}
+
+static void
+_wsc_im_hide_input_panel(void *data, struct wl_input_method *input_method, struct wl_input_method_context *im_ctx)
+{
+    struct weescim *wsc = (weescim*)data;
+    if (!wsc) return;
+
+    if (wsc->wsc_ctx)
+        isf_wsc_context_input_panel_hide (wsc->wsc_ctx);
+}
+
 static const struct wl_input_method_listener wsc_im_listener = {
     _wsc_im_activate,
-    _wsc_im_deactivate
+    _wsc_im_deactivate,
+    _wsc_im_show_input_panel,
+    _wsc_im_hide_input_panel
 };
 
 static void