From: shoum.chen@samsung.com Date: Mon, 1 Jun 2015 08:02:18 +0000 (+0800) Subject: 1.Modify dim window for selector. 2.Update the popup message. X-Git-Tag: submit/tizen/20150626.000206~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=92acfb64296f655ffb488394e4fd93a008622972;p=platform%2Fcore%2Fuifw%2Finputmethod-setting.git 1.Modify dim window for selector. 2.Update the popup message. Change-Id: I3346a7085993e99979faf67763472fefa5812f88 Signed-off-by: shoum.chen@samsung.com --- diff --git a/im_setting_list/input_method_setting_list_ui.cpp b/im_setting_list/input_method_setting_list_ui.cpp index 4ab7f68..ff48871 100644 --- a/im_setting_list/input_method_setting_list_ui.cpp +++ b/im_setting_list/input_method_setting_list_ui.cpp @@ -31,7 +31,9 @@ #define IM_SETTING_LIST_VIRTUAL_KEYBOARD dgettext(PACKAGE, "IDS_ST_HEADER_VIRTUAL_KEYBOARD") #define IM_SETTING_LIST_DEFAULT_KEYBOARD dgettext(PACKAGE, "IDS_ST_HEADER_DEFAULT_KEYBOARD_ABB") #define IM_SETTING_LIST_KEYBOARD_SETTING dgettext(PACKAGE, "IDS_IME_HEADER_KEYBOARD_SETTINGS_ABB") -#define IM_SETTING_LIST_POPUP_TEXT dgettext(PACKAGE, "IDS_ST_POP_THIS_INPUT_METHOD_MAY_BE_ABLE_TO_COLLECT_ALL_THE_TEXT _YOU_TYPE_INCLUDING_PERSONAL_DATA_LIKE_PASSWORDS_AND_CREDIT_CARD_ NUMBERS_MSG") +#define IM_SETTING_LIST_POPUP_TEXT dgettext(PACKAGE, "IDS_ST_POP_THIS_INPUT_METHOD_MAY_BE_ABLE_TO_COLLECT_ALL_THE"\ + "_TEXT_YOU_TYPE_INCLUDING_PERSONAL_DATA_LIKE_PASSWORDS_AND"\ + "_CREDIT_CARD_NUMBERS_MSG") #define IM_SETTING_PACKAGE PACKAGE #define IM_SETTING_LOCALE_DIR ("/usr/apps/"PACKAGE_NAME"/res/locale") @@ -108,6 +110,7 @@ static void im_setting_list_load_ise_info(void) { for(int i=0; idata); + Eina_Bool state = EINA_FALSE; + state = !elm_check_state_get (cb_data->parent); + elm_check_state_set(cb_data->parent, state); + isf_control_set_enable_ime(g_ime_info_list[index].appid, state); + evas_object_del(cb_data->popup); + delete cb_data; +} + +static void +im_setting_list_check_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info) +{ + popup_cb_data *cb_data = (popup_cb_data *)data; + evas_object_del(cb_data->popup); + delete cb_data; +} + static void im_setting_list_check_button_change_cb(void *data, Evas_Object *obj, void *event_info) { /*save the checked ise*/ int index = (int)data; - Eina_Bool state = elm_check_state_get (obj); - isf_control_set_enable_ime(g_ime_info_list[index].appid, state); + Eina_Bool state = !elm_check_state_get (obj); + elm_check_state_set (obj, state); + state = elm_check_state_get (obj); + if(state) + { + elm_check_state_set(obj, !state); + isf_control_set_enable_ime(g_ime_info_list[index].appid, !state); + } + else + { + Evas_Object *widget_parent = elm_object_parent_widget_get(obj); + Evas_Object *popup = elm_popup_add(widget_parent); + elm_object_part_text_set(popup, "title,text", IM_SETTING_LIST_POPUP_TITLE); + char chPopupMsg[255] = {'\0'}; + sprintf(chPopupMsg, IM_SETTING_LIST_POPUP_TEXT, g_ime_info_list[index].label); + elm_object_text_set(popup, chPopupMsg); + + popup_cb_data *cb_data = new popup_cb_data; + cb_data->popup = popup; + cb_data->parent = obj; + cb_data->event_info = event_info; + cb_data->data = data; + + Evas_Object *btn_cancel = elm_button_add(popup); + elm_object_text_set(btn_cancel, IM_SETTING_LIST_POPUP_CANCEL); + elm_object_part_content_set(popup, "button1", btn_cancel); + evas_object_smart_callback_add(btn_cancel, "clicked", im_setting_list_check_popup_cancel_cb, cb_data); + + Evas_Object *btn_ok = elm_button_add(popup); + elm_object_text_set(btn_ok, IM_SETTING_LIST_POPUP_OK); + elm_object_part_content_set(popup, "button2", btn_ok); + evas_object_smart_callback_add(btn_ok, "clicked", im_setting_list_check_popup_ok_cb, cb_data); + + evas_object_show(popup); + } } static void im_setting_list_update_check_button_state(Elm_Object_Item *item, Evas_Object *obj, int index) @@ -232,27 +290,45 @@ static void im_setting_list_item_sel_cb(void *data, Evas_Object *obj, void *even return; } - Evas_Object *popup = elm_popup_add(obj); - elm_object_part_text_set(popup, "title,text", IM_SETTING_LIST_POPUP_TITLE); - elm_object_text_set(popup, IM_SETTING_LIST_POPUP_TEXT); - - popup_cb_data *cb_data = new popup_cb_data; - cb_data->popup = popup; - cb_data->parent = obj; - cb_data->event_info = event_info; - cb_data->data = data; - - Evas_Object *btn_cancel = elm_button_add(popup); - elm_object_text_set(btn_cancel, IM_SETTING_LIST_POPUP_CANCEL); - elm_object_part_content_set(popup, "button1", btn_cancel); - evas_object_smart_callback_add(btn_cancel, "clicked", im_setting_list_popup_cancel_cb, cb_data); - - Evas_Object *btn_ok = elm_button_add(popup); - elm_object_text_set(btn_ok, IM_SETTING_LIST_POPUP_OK); - elm_object_part_content_set(popup, "button2", btn_ok); - evas_object_smart_callback_add(btn_ok, "clicked", im_setting_list_popup_ok_cb, cb_data); + Evas_Object *ck = elm_object_item_part_content_get (item, "elm.icon.right"); + if (ck == NULL){ + ck = elm_object_item_part_content_get (item, "elm.icon"); + } + Eina_Bool state = elm_check_state_get (ck); - evas_object_show(popup); + if(state) + { + elm_check_state_set (ck, !state); + evas_object_show(ck); + isf_control_set_enable_ime(g_ime_info_list[index].appid, !state); + } + else + { + Evas_Object *widget_parent = elm_object_parent_widget_get(obj); + Evas_Object *popup = elm_popup_add(widget_parent); + elm_object_part_text_set(popup, "title,text", IM_SETTING_LIST_POPUP_TITLE); + char chPopupMsg[255] = {'\0'}; + sprintf(chPopupMsg, IM_SETTING_LIST_POPUP_TEXT, g_ime_info_list[index].label); + elm_object_text_set(popup, chPopupMsg); + + popup_cb_data *cb_data = new popup_cb_data; + cb_data->popup = popup; + cb_data->parent = obj; + cb_data->event_info = event_info; + cb_data->data = data; + + Evas_Object *btn_cancel = elm_button_add(popup); + elm_object_text_set(btn_cancel, IM_SETTING_LIST_POPUP_CANCEL); + elm_object_part_content_set(popup, "button1", btn_cancel); + evas_object_smart_callback_add(btn_cancel, "clicked", im_setting_list_popup_cancel_cb, cb_data); + + Evas_Object *btn_ok = elm_button_add(popup); + elm_object_text_set(btn_ok, IM_SETTING_LIST_POPUP_OK); + elm_object_part_content_set(popup, "button2", btn_ok); + evas_object_smart_callback_add(btn_ok, "clicked", im_setting_list_popup_ok_cb, cb_data); + + evas_object_show(popup); + } } static void im_setting_list_set_default_keyboard_item_sel_cb(void *data, Evas_Object *obj, void *event_info) diff --git a/im_setting_selector/input_method_setting_selector_ui.cpp b/im_setting_selector/input_method_setting_selector_ui.cpp index 524741b..c74d9f8 100644 --- a/im_setting_selector/input_method_setting_selector_ui.cpp +++ b/im_setting_selector/input_method_setting_selector_ui.cpp @@ -48,10 +48,11 @@ im_setting_selector_main_window_create(char *name) Evas_Object *eo = NULL; int w = -1, h = -1; eo = elm_win_add(NULL, name, ELM_WIN_BASIC); + if (eo) { elm_win_title_set(eo, name); elm_win_borderless_set(eo, EINA_TRUE); - elm_win_alpha_set(eo, EINA_FALSE); + elm_win_alpha_set(eo, EINA_TRUE); elm_win_conformant_set(eo, EINA_TRUE); elm_win_autodel_set(eo, EINA_TRUE); elm_win_screen_size_get(eo, NULL, NULL, &w, &h); @@ -86,6 +87,7 @@ static void im_setting_selector_load_ise_info(void) { for(int i=0; iwin = im_setting_selector_main_window_create(PACKAGE); - im_setting_selector_bg_create(ad->win); im_setting_selector_load_ise_info(); im_setting_selector_popup_create(ad);