From: Lukasz Stanislawski Date: Wed, 3 Jun 2020 11:33:11 +0000 (+0200) Subject: language: change language selection UX X-Git-Tag: submit/tizen/20200605.091815^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F05%2F235305%2F5;p=profile%2Fcommon%2Fapps%2Fnative%2Fsettings.git language: change language selection UX * add confirmation popup Change-Id: I09141466d065aed1022e4f4b06fc82baef4f6fb3 --- diff --git a/resource/po/en_US.po b/resource/po/en_US.po index f54bc23..cd6867b 100755 --- a/resource/po/en_US.po +++ b/resource/po/en_US.po @@ -2750,3 +2750,9 @@ msgstr "Package info" msgid "IDS_ST_BODY_DEVICE_STORAGE" msgstr "Device storage" + +msgid "IDS_ST_POP_CHANGE_LANGUAGE" +msgstr "Change language" + +msgid "IDS_ST_POP_DEFAULT_LANGUAGE_WILL_BE_CHANGED" +msgstr "Default language will be changed" diff --git a/resource/po/ko_KR.po b/resource/po/ko_KR.po index 90d839b..681aae1 100644 --- a/resource/po/ko_KR.po +++ b/resource/po/ko_KR.po @@ -2748,3 +2748,9 @@ msgstr "패키지 정보" msgid "IDS_ST_BODY_DEVICE_STORAGE" msgstr "기기 저장" + +msgid "IDS_ST_POP_CHANGE_LANGUAGE" +msgstr "언어 변경" + +msgid "IDS_ST_POP_DEFAULT_LANGUAGE_WILL_BE_CHANGED" +msgstr "기본 언어가 변경됩니다" diff --git a/setting-common/src/controls/confirm-popup.c b/setting-common/src/controls/confirm-popup.c index 76437b4..f566e5e 100644 --- a/setting-common/src/controls/confirm-popup.c +++ b/setting-common/src/controls/confirm-popup.c @@ -34,7 +34,7 @@ Evas_Object *confirm_popup_create(Evas_Object *parent) { Evas_Object *popup = elm_popup_add(parent); - elm_popup_align_set(popup, 0.5, 1.0); + elm_popup_align_set(popup, 0.5, 0.5); evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); Evas_Object *btn = elm_button_add(popup); diff --git a/setting-language-and-input/src/setting-display-language-view.c b/setting-language-and-input/src/setting-display-language-view.c index 361c5a0..d75582b 100644 --- a/setting-language-and-input/src/setting-display-language-view.c +++ b/setting-language-and-input/src/setting-display-language-view.c @@ -22,6 +22,7 @@ #include "setting-language-and-input.h" #include "setting-common-draw-widget.h" #include +#include "controls/confirm-popup.h" #define DATA_FORMAT_SKELETON "yMd" #define DATA_FORMAT_CATEGORY_NUM 4 @@ -30,6 +31,7 @@ static int _view_create(void *data); static int _view_update(void *data); static int _view_destroy(void *data); +static void _close_popup_ex(void *data); setting_view setting_display_language_view = { .create = _view_create, @@ -256,13 +258,25 @@ static void _close_popup_ex(void *data) FREE(lang); } - /* Bundle send message */ - add_app_reply(&ad->md, "result", "rbutton_click"); - ui_app_exit(); - FREE(pa_lang); } +static void _popup_language_change_confirmed(void *data, Evas_Object *obj, + void *event_info) +{ + SettingLaIData *ad = (SettingLaIData *)data; + + _close_popup_ex(ad); + evas_object_del(obj); + elm_naviframe_item_pop(ad->md.naviframe); +} + +static void _popup_language_change_rejected(void *data, Evas_Object *obj, + void *event_info) +{ + evas_object_del(obj); +} + /** * @brief Callback of language item click event * @@ -279,12 +293,24 @@ static void _mouse_up_Gendial_list_radio_cb(void *data, Evas_Object *obj, ret_if(!ad); ret_if(!item); - elm_genlist_item_selected_set(item, 0); + elm_genlist_item_selected_set(item, EINA_FALSE); + + Evas_Object *confirm_popup = confirm_popup_create(ad->md.naviframe); + + confirm_popup_title_set(confirm_popup, _("IDS_ST_POP_CHANGE_LANGUAGE")); + confirm_popup_text_set(confirm_popup, _("IDS_ST_POP_DEFAULT_LANGUAGE_WILL_BE_CHANGED")); + confirm_popup_confirm_text_set(confirm_popup, _("IDS_ST_BUTTON_OK")); + confirm_popup_reject_text_set(confirm_popup, _("IDS_ST_BUTTON_CANCEL")); + + evas_object_smart_callback_add(confirm_popup, "confirmed", _popup_language_change_confirmed, ad); + evas_object_smart_callback_add(confirm_popup, "rejected", _popup_language_change_rejected, NULL); + + evas_object_show(confirm_popup); + list_item = (Setting_GenGroupItem_Data *)elm_object_item_data_get(item); ret_if(!list_item); ad->selected_locale = (char *)strdup(list_item->keyStr); - _close_popup_ex(ad); } /* ***************************************************