Support STT option in mobile profile 17/84717/1
authorJihoon Kim <jihoon48.kim@samsung.com>
Mon, 22 Aug 2016 06:20:43 +0000 (15:20 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Mon, 22 Aug 2016 06:20:53 +0000 (15:20 +0900)
Change-Id: I0d2596ca8cc99b506fb80587f26537ed76566a22
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
src/ise-stt-option.cpp

index 0baa0f7..5be79b1 100755 (executable)
@@ -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);
 }