Reduce duplicate code to create keyboard list 59/276859/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 27 Jun 2022 06:40:17 +0000 (15:40 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 27 Jun 2022 06:40:17 +0000 (15:40 +0900)
Change-Id: I626fa91ad6a558ae4853adb4358f2b72fdf47aec
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
im_setting_list/input_method_setting_list_popup_view.cpp

index bed4704..3cc1bed 100644 (file)
@@ -168,23 +168,11 @@ static void im_setting_list_genlist_item_class_create(void)
     }
 }
 
-#ifndef _WEARABLE
-static Evas_Object *im_setting_list_list_create(void *data)
+static void insert_keyboard_list(Evas_Object *genlist, appdata *ad)
 {
-    appdata *ad = (appdata *)data;
-    if (!ad)
-        return NULL;
-    im_setting_list_genlist_item_class_create();
-    Evas_Object *genlist = NULL;
-    genlist = im_setting_genlist_create(ad->popup, ad->conform);
-    elm_scroller_content_min_limit(ad->genlist, EINA_FALSE, EINA_TRUE);
-    evas_object_smart_callback_add(genlist, "language,changed", gl_lang_changed, NULL);
-    unsigned int i = 0;
-
-    /* keyboard list */
-    for (i = 0; i < g_active_ime_info_list.size(); i++) {
+    for (unsigned int i = 0; i < g_active_ime_info_list.size(); i++) {
         sel_cb_data *cb_data = new sel_cb_data;
-        cb_data->data = data;
+        cb_data->data = ad;
         cb_data->index = i;
         cb_data->group_radio = group_radio;
         elm_genlist_item_append(genlist,
@@ -195,6 +183,22 @@ static Evas_Object *im_setting_list_list_create(void *data)
             im_setting_list_ime_sel_cb,
             (void *)(cb_data));
     }
+}
+
+#ifndef _WEARABLE
+static Evas_Object *im_setting_list_list_create(void *data)
+{
+    appdata *ad = (appdata *)data;
+    if (!ad)
+        return NULL;
+    im_setting_list_genlist_item_class_create();
+    Evas_Object *genlist = NULL;
+    genlist = im_setting_genlist_create(ad->popup, ad->conform);
+    elm_scroller_content_min_limit(ad->genlist, EINA_FALSE, EINA_TRUE);
+    evas_object_smart_callback_add(genlist, "language,changed", gl_lang_changed, NULL);
+
+    insert_keyboard_list(genlist, ad);
+
     elm_radio_value_set(group_radio, g_active_ime_id);
 
     return genlist;
@@ -308,19 +312,7 @@ static void im_setting_list_screen_create(void *data)
     }
 
     /* keyboard list */
-    for (unsigned int i = 0; i < g_active_ime_info_list.size(); i++) {
-        sel_cb_data *cb_data = new sel_cb_data;
-        cb_data->data = data;
-        cb_data->index = i;
-        cb_data->group_radio = group_radio;
-        elm_genlist_item_append(genlist,
-            itc_im_list,
-            (void *)(cb_data),
-            NULL,
-            ELM_GENLIST_ITEM_NONE,
-            im_setting_list_ime_sel_cb,
-            (void *)(cb_data));
-    }
+    insert_keyboard_list(genlist, ad);
 
     elm_radio_state_value_set(group_radio, g_active_ime_id);
     elm_radio_value_set(group_radio, g_active_ime_id);