Refactor code to create button in popup 74/249074/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 7 Dec 2020 01:33:15 +0000 (10:33 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 7 Dec 2020 01:33:15 +0000 (10:33 +0900)
Change-Id: I44c7994cdd031c8682331d8524de25eed1adb492
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
im_setting_list/input_method_setting_list_ui.cpp

index 46e2839..857f9f0 100644 (file)
@@ -260,6 +260,14 @@ static void popup_lang_changed(void *data, Evas_Object *obj, void *event_info)
     set_popup_message(obj, index);
 }
 
+static void add_popup_button(Evas_Object *popup, const char *button_text, const char *part_name, popup_ok_cb popup_cb, void *cb_data)
+{
+    Evas_Object *btn_obj = elm_button_add(popup);
+    elm_object_domain_translatable_text_set(btn_obj, PACKAGE, button_text);
+    elm_object_part_content_set(popup, part_name, btn_obj);
+    evas_object_smart_callback_add(btn_obj, "clicked", popup_cb, cb_data);
+}
+
 static void im_setting_list_show_popup(void *data, Evas_Object *obj, popup_ok_cb ime_setting_list_ok_callback, popup_cancel_cb ime_setting_list_cancel_callback)
 {
     int index = (int)reinterpret_cast<long>(data);
@@ -280,15 +288,8 @@ static void im_setting_list_show_popup(void *data, Evas_Object *obj, popup_ok_cb
     cb_data->popup = popup;
     cb_data->data = data;
 
-    Evas_Object *btn_cancel = elm_button_add(popup);
-    elm_object_domain_translatable_text_set(btn_cancel, PACKAGE, IM_SETTING_LIST_POPUP_CANCEL);
-    elm_object_part_content_set(popup, "button1", btn_cancel);
-    evas_object_smart_callback_add(btn_cancel, "clicked", ime_setting_list_cancel_callback, cb_data);
-
-    Evas_Object *btn_ok = elm_button_add(popup);
-    elm_object_domain_translatable_text_set(btn_ok, PACKAGE, IM_SETTING_LIST_TURNON);
-    elm_object_part_content_set(popup, "button2", btn_ok);
-    evas_object_smart_callback_add(btn_ok, "clicked", ime_setting_list_ok_callback, cb_data);
+    add_popup_button(popup, IM_SETTING_LIST_POPUP_CANCEL, "button1", ime_setting_list_cancel_callback, cb_data);
+    add_popup_button(popup, IM_SETTING_LIST_TURNON, "button2", ime_setting_list_ok_callback, cb_data);
 
     eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, _popup_back_cb, cb_data);
     evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, _popup_del_cb, cb_data);