ecore_imf: Add multiline hint in input hint
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 18 May 2016 06:20:05 +0000 (15:20 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 18 May 2016 06:21:12 +0000 (15:21 +0900)
@feature

src/lib/ecore_imf/Ecore_IMF.h
src/lib/edje/edje_entry.c
src/modules/ecore_imf/wayland/wayland_imcontext.c

index 5e9766c..3c7eae7 100644 (file)
@@ -356,6 +356,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
index 44c68ab..811af39 100644 (file)
@@ -2742,6 +2742,10 @@ _edje_entry_real_part_init(Edje *ed, Edje_Real_Part *rp)
                                          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
index c852c56..9cd5c63 100644 (file)
@@ -1046,6 +1046,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