From 719210a43b04534a86d4806f8e4215f7d741dc5a Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 3 Feb 2016 11:54:53 +0900 Subject: [PATCH] Support show and hide input panel event Change-Id: Ibc4236b8a587d7774ae969d5317ed7918bfbe9ba --- ism/extras/efl_wsc/isf_wsc_control_ui.cpp | 3 +++ ism/extras/efl_wsc/isf_wsc_efl.cpp | 27 +++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ism/extras/efl_wsc/isf_wsc_control_ui.cpp b/ism/extras/efl_wsc/isf_wsc_control_ui.cpp index daa59f9..6dc10b0 100644 --- a/ism/extras/efl_wsc/isf_wsc_control_ui.cpp +++ b/ism/extras/efl_wsc/isf_wsc_control_ui.cpp @@ -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); diff --git a/ism/extras/efl_wsc/isf_wsc_efl.cpp b/ism/extras/efl_wsc/isf_wsc_efl.cpp index 3e495cc..a94406a 100644 --- a/ism/extras/efl_wsc/isf_wsc_efl.cpp +++ b/ism/extras/efl_wsc/isf_wsc_efl.cpp @@ -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 -- 2.7.4