From 3eac5509a453e73a6388d0f6d1e91748f2957a72 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Mon, 22 Aug 2016 15:20:43 +0900 Subject: [PATCH] Support STT option in mobile profile Change-Id: I0d2596ca8cc99b506fb80587f26537ed76566a22 Signed-off-by: Jihoon Kim --- src/ise-stt-option.cpp | 72 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 19 deletions(-) diff --git a/src/ise-stt-option.cpp b/src/ise-stt-option.cpp index 0baa0f7..5be79b1 100755 --- a/src/ise-stt-option.cpp +++ b/src/ise-stt-option.cpp @@ -36,7 +36,9 @@ static Evas_Object *radio_gp = NULL; Evas_Object *g_setting_naviframe = NULL; Evas_Object *g_setting_window = NULL; +#ifdef _WEARABLE static Elm_Genlist_Item_Class itc_title; +#endif static Elm_Genlist_Item_Class itc_1text; static Elm_Genlist_Item_Class itc_2text; @@ -45,7 +47,9 @@ static int get_language_value(); static void set_language_value(int type); void _stt_lang_changed_cb(keynode_t *key, void* data); int is_lang_supported_by_stt(char lang[]); +#ifdef _WEARABLE static char *__get_genlist_title_label(void *data, Evas_Object *obj, const char *part); +#endif 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); static void language_set_genlist_radio_cb(void *data, Evas_Object *obj, void *event_info); @@ -236,10 +240,12 @@ char * get_stt_default_language() return strdup(kbd_lang); } +#ifdef _WEARABLE static char *__get_genlist_title_label(void *data, Evas_Object *obj, const char *part) { return strdup(_("IDS_VOICE_OPT_LANGUAGE_ABB")); } +#endif char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) { @@ -358,13 +364,14 @@ static Eina_Bool close_setting_window_idler_cb(void *data) static void _naviframe_back_cb(void *data, Evas_Object *obj, void *event_info) { - Elm_Object_Item *top_it = elm_naviframe_top_item_get(obj); - Elm_Object_Item *bottom_it = elm_naviframe_bottom_item_get(obj); + Evas_Object *nf = (Evas_Object *)data; + Elm_Object_Item *top_it = elm_naviframe_top_item_get(nf); + Elm_Object_Item *bottom_it = elm_naviframe_bottom_item_get(nf); if (top_it && bottom_it && (elm_object_item_content_get(top_it) == elm_object_item_content_get(bottom_it))) { close_setting_window(); } else { - elm_naviframe_item_pop(obj); + elm_naviframe_item_pop(nf); } } @@ -404,12 +411,14 @@ static Evas_Object *create_language_list(Evas_Object *parent) 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; elm_genlist_item_append(genlist, &itc_title, (void *)-1, NULL, ELM_GENLIST_ITEM_GROUP, NULL, genlist); +#endif // 2 line text #ifdef _WEARABLE @@ -486,7 +495,6 @@ void create_setting_window() ise_stt_finish(); Evas_Object *window = NULL; - Evas_Object *layout = NULL; Evas_Object *genlist = NULL; Evas_Object *naviframe = NULL; @@ -496,33 +504,59 @@ void create_setting_window() return; } +#ifdef _MOBILE + elm_win_indicator_mode_set(window, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(window, ELM_WIN_INDICATOR_OPAQUE); +#else elm_win_indicator_mode_set(window, ELM_WIN_INDICATOR_HIDE); +#endif - layout = elm_layout_add(window); - if (layout) { - elm_layout_theme_set(layout, "layout", "application", "default"); - evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(layout); - elm_win_resize_object_add(window, layout); - } - - elm_win_activate(window); - evas_object_show(window); + Evas_Object *conformant = elm_conformant_add(window); + evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(conformant, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_win_resize_object_add(window, conformant); + elm_win_conformant_set(window, EINA_TRUE); + evas_object_show(conformant); + +#ifdef _MOBILE + /* Create header bg */ + Evas_Object *bg = elm_bg_add(conformant); + elm_object_style_set(bg, "indicator/headerbg"); + elm_object_part_content_set(conformant, "elm.swallow.indicator_bg", bg); + evas_object_show(bg); +#endif - naviframe = elm_naviframe_add(layout); + /* Create naviframe */ + naviframe = elm_naviframe_add(conformant); if (naviframe == NULL){ LOGD("create navi_frame failed"); } - eext_object_event_callback_add(naviframe, EEXT_CALLBACK_BACK, _naviframe_back_cb, NULL); - - elm_object_part_content_set(layout, "elm.swallow.content", naviframe); + eext_object_event_callback_add(naviframe, EEXT_CALLBACK_BACK, _naviframe_back_cb, naviframe); genlist = create_language_list(naviframe); - elm_naviframe_item_push(naviframe, NULL, NULL, NULL, genlist, "empty"); + /* Add a back button to naviframe */ + Evas_Object *back_button = NULL; + char *title = NULL; + char *item_style = NULL; + +#ifdef _MOBILE + back_button = elm_button_add(naviframe); + elm_object_style_set(back_button, "naviframe/back_btn/default"); + evas_object_smart_callback_add(back_button, "clicked", _naviframe_back_cb, naviframe); + title = _("IDS_VOICE_OPT_LANGUAGE_ABB"); +#else + item_style = "empty"; +#endif + elm_naviframe_item_push(naviframe, title, back_button, NULL, genlist, item_style); + + elm_object_content_set(conformant, naviframe); g_setting_naviframe = naviframe; g_setting_window = window; + + elm_win_activate(window); + evas_object_show(window); } -- 2.7.4