wl_input_method_context_update_candidate_state(ic->im_ctx, 0);
}
}
+
+ void update_entry_metadata (int id, uint32 context_id) {
+ LOGD ("client id:%d", id);
+ WSCContextISF* ic = find_ic(context_id);
+ if (!ic || !ic->im_ctx) return;
+
+ if (ic->layout_initialized)
+ isf_wsc_context_input_panel_layout_set (ic, wsc_context_input_panel_layout_get (ic));
+
+ if (ic->prediction_allow_initialized)
+ g_info_manager->set_prediction_allow (WAYLAND_MODULE_CLIENT_ID, wsc_context_prediction_allow_get (ic));
+
+ if (ic->autocapital_type_initialized)
+ isf_wsc_context_autocapital_type_set (ic, wsc_context_autocapital_type_get (ic));
+
+ if (ic->language_initialized)
+ isf_wsc_context_input_panel_language_set (ic, wsc_context_input_panel_language_get (ic));
+
+ g_info_manager->socket_update_cursor_position (ic->surrounding_cursor);
+ isf_wsc_context_input_panel_return_key_type_set (ic, (Ecore_IMF_Input_Panel_Return_Key_Type)ic->return_key_type);
+ isf_wsc_context_input_panel_return_key_disabled_set (ic, ic->return_key_disabled);
+
+ if (ic->impl)
+ isf_wsc_context_input_panel_imdata_set (ic, (void *)ic->impl->imdata, ic->impl->imdata_size);
+
+ isf_wsc_context_bidi_direction_set (ic, (Ecore_IMF_BiDi_Direction)ic->bidi_direction);
+ isf_wsc_context_input_panel_caps_mode_set (ic, ic->caps_mode);
+
+ if (ic->impl)
+ isf_wsc_context_input_panel_mime_type_accept_set (ic, ic->impl->mime_type.c_str ());
+
+ if (_TV) {
+ isf_wsc_context_send_entry_metadata (ic, wsc_context_input_hint_get (ic), wsc_context_input_panel_layout_get (ic),
+ wsc_context_input_panel_layout_variation_get (ic), wsc_context_autocapital_type_get (ic), ic->return_key_disabled);
+ }
+ }
};
extern "C" {
focus_in_helper (m_current_helper_uuid, m_current_socket_client, m_current_client_context);
reset_keyboard_ise ();
}
+
/* Check whether ISE panel is already shown */
if (TOOLBAR_HELPER_MODE == m_current_toolbar_mode && m_ise_context_length > 0) {
LOGD ("Re-show input_panel");
focused_context = 0;
}
+ m_panel_agent_manager.update_entry_metadata (focused_client, focused_context);
uint32 ctx = get_helper_ic (focused_client, focused_context);
bool ret = show_helper (m_current_helper_uuid, m_ise_context_buffer, m_ise_context_length, ctx);
if (ret)
void remote_delete_surrounding_text (int client, uint32 context_id, uint32 offset, uint32 len);
void set_prediction_allow (int id, uint32 context_id, String uuid, int mode);
void send_fail_reply (int client);
+ void update_entry_metadata(int client, uint32 context_id);
};
/** @} */