From: sungwook79.park Date: Thu, 8 Sep 2016 05:59:38 +0000 (+0900) Subject: Fix wrong display issue of radio button group in language selection X-Git-Tag: accepted/tizen/3.0/wearable/20161015.084050~3 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Finputdelegator.git;a=commitdiff_plain;h=410e0b28138643ae6e7024eead5ef301581fcca4 Fix wrong display issue of radio button group in language selection Change-Id: I5445b67d6c4a35dcefe6e9c03eeae6a6a06c7568 Signed-off-by: sungwook79.park --- diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index 0f14f77..72b7792 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -67,7 +67,7 @@ static Elm_Genlist_Item_Class itc_2text; static void set_guide_text(VoiceData *vd, const char* text, bool translatable = false); -const char *supported_language[7] = { +const char *supported_language[] = { "auto", "en_US", "es_US", @@ -78,7 +78,7 @@ const char *supported_language[7] = { }; -const char *disp_lang_array[7] = { +const char *disp_lang_array[] = { "", "English (United States)", "Español (América Latina)", @@ -961,47 +961,38 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) static Evas_Object *__get_genlist_item_content(void *data, Evas_Object *obj, const char *part) { - int index = (int)data; + int index = (intptr_t)data; Evas_Object * content = NULL; - if (!strcmp(part, "elm.icon")) { + if (!strcmp(part, "elm.icon") || + !strcmp(part, "elm.swallow.end")) { content = elm_radio_add(obj); + elm_object_style_set(content, "list"); elm_radio_state_value_set(content, index); elm_radio_group_add(content, radio_gp); evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_propagate_events_set(content, EINA_TRUE); evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_style_set(content, "list"); } return content; } static int get_language_value() { -#if 1 int lang = 0, ret = 0; ret = preference_get_int(PREFERENCE_ISE_STT_LANGUAGE, &lang); - if(PREFERENCE_ERROR_NONE != ret){ + if (PREFERENCE_ERROR_NONE != ret) { PRINTFUNC(DLOG_ERROR, "preference_get_int error!(%d)", ret); - preference_set_int(PREFERENCE_ISE_STT_LANGUAGE, (int)2); //auto - lang = 2; + preference_set_int(PREFERENCE_ISE_STT_LANGUAGE, STT_VOICE_N66_AUTO); //auto + lang = STT_VOICE_N66_AUTO; } -#else - int lang = 0, ret = 0; - ret = vconf_get_int(VCONFKEY_ISE_STT_LANGUAGE, &lang); - if (ret !=0) { - PRINTFUNC(DLOG_ERROR, "Vconf_get_int error!(%d)", ret); - } -#endif - if(g_is_n66) { - if(lang < 0 || lang > 6) { - PRINTFUNC(DLOG_WARN, "vconf lang orig(%d) to be 0", lang); - lang = 0; - } - PRINTFUNC(DLOG_DEBUG, "n66 current language value for stt (%s).", disp_lang_array[lang]); + if (lang < 0 || lang > (int)(sizeof(supported_language)/sizeof(supported_language[0])-1)) { + PRINTFUNC(DLOG_WARN, "vconf lang orig(%d) to be 0", lang); + lang = 0; } + PRINTFUNC(DLOG_DEBUG, "n66 current language value for stt (%s).", disp_lang_array[lang]); return lang; } @@ -1011,19 +1002,11 @@ static void set_language_value(int type) // Add implementation to store language type. int ret = 0; -#if 1 ret = preference_set_int(PREFERENCE_ISE_STT_LANGUAGE, (int)type); if(PREFERENCE_ERROR_NONE != ret){ PRINTFUNC(DLOG_ERROR, "preference_set_int error!(%d)", ret); } -#else - ret = vconf_set_int(VCONFKEY_ISE_STT_LANGUAGE, (int) type); - if (ret != 0) { - PRINTFUNC(DLOG_ERROR, "Vconf_set_int error!(%d)", ret); - return; - } -#endif PRINTFUNC(DLOG_DEBUG, "language type (%d)", type); // Update string @@ -1157,14 +1140,15 @@ static Evas_Object *create_language_list(Evas_Object *parent) elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); elm_genlist_homogeneous_set(genlist, EINA_TRUE); -// uxt_genlist_set_bottom_margin_enabled(genlist, EINA_TRUE); - +#ifdef _CIRCLE Evas_Object *circle_language_genlist = eext_circle_object_genlist_add(genlist, NULL); eext_circle_object_genlist_scroller_policy_set(circle_language_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); evas_object_resize(circle_language_genlist, 360, 360); evas_object_show(circle_language_genlist); eext_rotary_object_event_activated_set(circle_language_genlist, EINA_TRUE); - +#else + evas_object_show(genlist); +#endif int i = 0; int lang_val = 0; Elm_Object_Item * item = NULL; @@ -1176,16 +1160,21 @@ static Evas_Object *create_language_list(Evas_Object *parent) elm_radio_state_value_set(radio_gp, -1); lang_val = get_language_value(); - +#ifdef _WEARABLE //Title itc_title.item_style = "title"; itc_title.func.text_get = __get_genlist_title_label; itc_title.func.content_get = NULL; item = elm_genlist_item_append(genlist, &itc_title, (void *)-1, NULL, ELM_GENLIST_ITEM_GROUP, NULL, genlist); +#endif // 2 line text +#ifdef _WEARABLE itc_2text.item_style = "2text.1icon.1/sub1.multiline"; +#else + itc_2text.item_style = "type1"; +#endif itc_2text.func.text_get = __get_genlist_item_label; itc_2text.func.content_get = __get_genlist_item_content; @@ -1202,40 +1191,52 @@ static Evas_Object *create_language_list(Evas_Object *parent) } // 1 line text +#ifdef _WEARABLE itc_1text.item_style = "1text.1icon.1"; +#else + itc_1text.item_style = "type1"; +#endif itc_1text.func.text_get = __get_genlist_item_label; itc_1text.func.content_get = __get_genlist_item_content; - if(g_is_n66) { - for (i = 1; i < 7; i++) - { - char *s = (char *)disp_lang_array[i]; + for (i = 1; i < (long)(sizeof(disp_lang_array)/sizeof(disp_lang_array[0])); i++) + { + char *s = (char *)disp_lang_array[i]; - if(strchr(s, '(')){ - item = item_append(genlist, itc_2text, i, language_set_genlist_radio_cb, genlist); - } else { - item = item_append(genlist, itc_1text, i, language_set_genlist_radio_cb, genlist); - } + if(strchr(s, '(')){ + item = item_append(genlist, itc_2text, i, language_set_genlist_radio_cb, genlist); + } else { + item = item_append(genlist, itc_1text, i, language_set_genlist_radio_cb, genlist); + } - if(lang_val == i) { - PRINTFUNC(DLOG_DEBUG, "%d item is choiced.", i); - elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); - } + if(lang_val == i) { + PRINTFUNC(DLOG_DEBUG, "%d item is choiced.", i); + elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); + } - if ( item == NULL ) { - PRINTFUNC(DLOG_DEBUG, "elm_genlist_item_append was failed"); - break; - } + if ( item == NULL ) { + PRINTFUNC(DLOG_DEBUG, "elm_genlist_item_append was failed"); + break; } } + Elm_Object_Item *dummy; + Elm_Genlist_Item_Class *itc_dummy = elm_genlist_item_class_new(); + if (itc_dummy) { + itc_dummy->item_style = "title"; + itc_dummy->func.text_get = NULL; + itc_dummy->func.content_get = NULL; + } + dummy = elm_genlist_item_append(genlist, itc_dummy, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + elm_genlist_item_select_mode_set(dummy, ELM_OBJECT_SELECT_MODE_NONE); + LOGD("before elm_radio_value_set > lang_val = %d", lang_val); + radio_gp = elm_radio_add(genlist); + elm_radio_state_value_set(radio_gp, lang_val); elm_radio_value_set(radio_gp, lang_val); elm_object_signal_callback_add(genlist, "elm,system,language,change", "elm", language_changed_cb, NULL); -// eext_rotary_event_callback_set(genlist, _language_list_rotary_cb, NULL); evas_object_smart_callback_add(genlist, "realized", _language_list_item_realized, NULL); - g_evt_key_down = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, _ise_keydown_cb, NULL); return genlist; }