diff options
author | Li Zhang <li2012.zhang@samsung.com> | 2016-05-13 18:46:13 +0800 |
---|---|---|
committer | Li Zhang <li2012.zhang@samsung.com> | 2016-05-13 18:46:13 +0800 |
commit | c501f28596a3f6cd0ee51801dee1fae32c94b0b8 (patch) | |
tree | ddd5dea41eb1870eaca64b57bfe4a9b3c1f65950 | |
parent | 6de1ffe3ca6f03ffa72f3c61c767d71c9c47fdb0 (diff) | |
download | isf-c501f28596a3f6cd0ee51801dee1fae32c94b0b8.tar.gz isf-c501f28596a3f6cd0ee51801dee1fae32c94b0b8.tar.bz2 isf-c501f28596a3f6cd0ee51801dee1fae32c94b0b8.zip |
Invoking set_layout() when changing IMEngine
Change-Id: Ib325b62a7bf3eb2f20cbd03c857f43d30ff42aa6
-rw-r--r-- | ism/modules/panelagent/wayland/isf_wsc_context.h | 1 | ||||
-rw-r--r-- | ism/modules/panelagent/wayland/isf_wsc_control_ui.cpp | 1 | ||||
-rw-r--r-- | ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp | 12 | ||||
-rw-r--r-- | ism/src/scim_helper.cpp | 6 |
4 files changed, 5 insertions, 15 deletions
diff --git a/ism/modules/panelagent/wayland/isf_wsc_context.h b/ism/modules/panelagent/wayland/isf_wsc_context.h index 7259d4f5..a84d98ba 100644 --- a/ism/modules/panelagent/wayland/isf_wsc_context.h +++ b/ism/modules/panelagent/wayland/isf_wsc_context.h @@ -108,7 +108,6 @@ Eina_Bool caps_mode_check (WSCContextISF *wsc_ctx, Eina_Bool force, Eina_Bool no WSCContextISF *get_focused_ic (); void context_scim_imdata_get (WSCContextISF *wsc_ctx, void* data, int* length); -void imengine_layout_set (WSCContextISF *wsc_ctx, Ecore_IMF_Input_Panel_Layout layout); void isf_wsc_context_add (WSCContextISF *wsc_ctx); void isf_wsc_context_del (WSCContextISF *wsc_ctx); diff --git a/ism/modules/panelagent/wayland/isf_wsc_control_ui.cpp b/ism/modules/panelagent/wayland/isf_wsc_control_ui.cpp index 1f2a9668..97cdcccd 100644 --- a/ism/modules/panelagent/wayland/isf_wsc_control_ui.cpp +++ b/ism/modules/panelagent/wayland/isf_wsc_control_ui.cpp @@ -189,7 +189,6 @@ isf_wsc_context_input_panel_layout_set (WSCContextISF *ctx, Ecore_IMF_Input_Pane if (context_scim == get_focused_ic ()) { LOGD ("layout type : %d\n", layout); _isf_wsc_context_input_panel_layout_set (_get_context_id (ctx), layout); - imengine_layout_set (ctx, layout); } } diff --git a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp index b7ca5285..34c54cdd 100644 --- a/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp +++ b/ism/modules/panelagent/wayland/wayland_panel_agent_module.cpp @@ -1222,18 +1222,6 @@ void context_scim_imdata_get (WSCContextISF *wsc_ctx, void* data, int* length) } } -void -imengine_layout_set (WSCContextISF *wsc_ctx, Ecore_IMF_Input_Panel_Layout layout) -{ - LOGD (""); - WSCContextISF* context_scim = wsc_ctx; - - if (context_scim && context_scim->impl && context_scim == _focused_ic) { - //FIXME: add this interface - //_info_manager->set_layout (layout); - } -} - static char * insert_text (const char *text, uint32_t offset, const char *insert) { diff --git a/ism/src/scim_helper.cpp b/ism/src/scim_helper.cpp index 1820d6c6..914286c3 100644 --- a/ism/src/scim_helper.cpp +++ b/ism/src/scim_helper.cpp @@ -146,6 +146,7 @@ public: uint32 cursor_pos; bool need_update_surrounding_text; bool need_update_selection_text; + uint32 layout; HelperAgentSignalVoid signal_exit; HelperAgentSignalVoid signal_attach_input_context; @@ -209,7 +210,8 @@ public: public: HelperAgentImpl (HelperAgent* thiz) : focused_ic ((uint32) -1), thiz (thiz), surrounding_text (NULL), selection_text (NULL), cursor_pos (0), - need_update_surrounding_text (false), need_update_selection_text (false) { + need_update_surrounding_text (false), need_update_selection_text (false), + layout (0) { } ~HelperAgentImpl () { @@ -1053,6 +1055,7 @@ HelperAgent::filter_event () uint32 layout; if (m_impl->recv.get_data (layout)) { + m_impl->layout = layout; m_impl->signal_set_layout (this, layout); if (!m_impl->si.null ()) m_impl->si->set_layout(layout); } @@ -2253,6 +2256,7 @@ HelperAgent::set_keyboard_ise_by_uuid (const String &uuid) const m_impl->attach_instance (); LOGD ("Require UUID: %s Current UUID: %s", uuid.c_str (), m_impl->si->get_factory_uuid ().c_str ()); + m_impl->si->set_layout (m_impl->layout); if(m_impl->focused_ic != (uint32)-1) m_impl->si->focus_in (); } |