From e29ecc85f5aab6860615b131626662ec56c462f6 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 18 May 2016 15:20:05 +0900 Subject: [PATCH] ecore_imf: Add multiline hint in input hint @feature Change-Id: I6d20ba7315fed8d17be212a1c03f63ce674afce2 --- src/lib/ecore_imf/Ecore_IMF.h | 1 + src/lib/edje/edje_entry.c | 4 ++++ src/modules/ecore_imf/wayland/wayland_imcontext.c | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h index 64e4a86..86d35c4 100644 --- a/src/lib/ecore_imf/Ecore_IMF.h +++ b/src/lib/ecore_imf/Ecore_IMF.h @@ -368,6 +368,7 @@ typedef enum ECORE_IMF_INPUT_HINT_NONE = 0, /**< No active hints @since 1.12 */ ECORE_IMF_INPUT_HINT_AUTO_COMPLETE = 1 << 0, /**< Suggest word auto completion @since 1.12 */ ECORE_IMF_INPUT_HINT_SENSITIVE_DATA = 1 << 1, /**< Typed text should not be stored. @since 1.12 */ + ECORE_IMF_INPUT_HINT_MULTILINE = 1 << 2, /**< Multiline text @since 1.18 */ } Ecore_IMF_Input_Hints; enum diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 5132695..fdb5fd0 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -2800,6 +2800,10 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp, Ecore_IMF_Context *ic) rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD ? ECORE_IMF_INPUT_MODE_INVISIBLE : ECORE_IMF_INPUT_MODE_FULL); + if (rp->part->multiline) + ecore_imf_context_input_hint_set(en->imf_context, + ecore_imf_context_input_hint_get(en->imf_context) | ECORE_IMF_INPUT_HINT_MULTILINE); + if (rp->part->entry_mode == EDJE_ENTRY_EDIT_MODE_PASSWORD) ecore_imf_context_input_panel_language_set(en->imf_context, ECORE_IMF_INPUT_PANEL_LANG_ALPHABET); #endif diff --git a/src/modules/ecore_imf/wayland/wayland_imcontext.c b/src/modules/ecore_imf/wayland/wayland_imcontext.c index 9a54137..e08bcf4 100644 --- a/src/modules/ecore_imf/wayland/wayland_imcontext.c +++ b/src/modules/ecore_imf/wayland/wayland_imcontext.c @@ -1332,6 +1332,11 @@ wayland_im_context_input_hint_set(Ecore_IMF_Context *ctx, imcontext->content_hint |= WL_TEXT_INPUT_CONTENT_HINT_SENSITIVE_DATA; else imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_SENSITIVE_DATA; + + if (input_hints & ECORE_IMF_INPUT_HINT_MULTILINE) + imcontext->content_hint |= WL_TEXT_INPUT_CONTENT_HINT_MULTILINE; + else + imcontext->content_hint &= ~WL_TEXT_INPUT_CONTENT_HINT_MULTILINE; } EAPI void -- 2.7.4