Show keyboard list for enabling in common profile 49/254849/2
authorJihoon Kim <jihoon48.kim@samsung.com>
Wed, 10 Mar 2021 04:34:16 +0000 (13:34 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Wed, 10 Mar 2021 05:05:17 +0000 (14:05 +0900)
Change-Id: I359e22063ce3387f37d9d687ea17ec215aef1eb7
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
im_setting_list/input_method_setting_list_ui.cpp

index b33b3bf70cb7eb89eb9929e3402de0d329903627..776aceedbe43637a12ea67b1782a9e18b67f10dd 100644 (file)
@@ -511,17 +511,31 @@ static void gl_lang_changed(void *data, Evas_Object *obj, void *event_info)
 static void gl_realized_cb(void *data, Evas_Object *obj, void *event_info)
 {
     Elm_Object_Item *it = (Elm_Object_Item *)event_info;
-    Elm_Object_Item *first_item = elm_genlist_first_item_get(obj);
-    Elm_Object_Item *last_item = elm_genlist_last_item_get(obj);
-
-    if (it == first_item && it == last_item)
+    Elm_Object_Item *previous = elm_genlist_item_prev_get(it);
+    Elm_Object_Item *next = elm_genlist_item_next_get(it);
+    bool first_in_group = false, last_in_group = false;
+
+    if (previous) {
+        if (elm_genlist_item_type_get(previous) == ELM_GENLIST_ITEM_GROUP)
+            first_in_group = true;
+    } else
+        first_in_group = true;
+
+    if (next) {
+        if (elm_genlist_item_type_get(next) == ELM_GENLIST_ITEM_GROUP)
+            last_in_group = true;
+    } else
+        last_in_group = true;
+
+    if (first_in_group && last_in_group) {
         elm_object_item_signal_emit(it, "elm,state,group,single", "elm");
-    else if (it == first_item)
+    } else if (first_in_group) {
         elm_object_item_signal_emit(it, "elm,state,group,top", "elm");
-    else if (it == last_item)
+    } else if (last_in_group) {
         elm_object_item_signal_emit(it, "elm,state,group,bottom", "elm");
-    else
+    } else {
         elm_object_item_signal_emit(it, "elm,state,group,middle", "elm");
+    }
 }
 #endif
 
@@ -607,7 +621,7 @@ static Evas_Object *im_setting_list_genlist_keyboard_list_item_icon_get(void *da
         elm_object_style_set(ck, "on&off");
         elm_check_state_set(ck, g_gen_item_data[index].chk_status);
         elm_object_disabled_set(ck, g_ime_info_list[index].is_preinstalled || (index == g_active_ime_index));
-#ifndef _MOBILE
+#ifdef _WEARABLE
         elm_object_disabled_set(ck, EINA_TRUE);
 #endif
         evas_object_propagate_events_set(ck, EINA_FALSE);
@@ -693,7 +707,7 @@ static void im_setting_list_genlist_item_class_create(int app_type)
 #elif _MOBILE
             itc_im_list_keyboard_list->item_style = "type1";
 #else
-            itc_im_list_keyboard_list->item_style = "2line";
+            itc_im_list_keyboard_list->item_style = "1line";
 #endif
             itc_im_list_keyboard_list->func.text_get = im_setting_list_genlist_keyboard_list_item_label_get;
             itc_im_list_keyboard_list->func.content_get = im_setting_list_genlist_keyboard_list_item_icon_get;
@@ -814,7 +828,7 @@ static void im_setting_list_add_ime(void *data) {
 
         elm_object_item_disabled_set(item, !(g_ime_info_list[g_active_ime_index].has_option));
 
-#ifdef _MOBILE
+#ifndef _WEARABLE
         /* Keyboards group */
         Elm_Object_Item *group_header_item = NULL;
         group_header_item = elm_genlist_item_append(ad->genlist,
@@ -829,7 +843,7 @@ static void im_setting_list_add_ime(void *data) {
 #endif
     }
 
-#ifndef _MOBILE
+#ifdef _WEARABLE
     if (ad->app_type == APP_TYPE_NORMAL)
 #endif
     {