X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fw-input-selector.cpp;h=9536088963b56d8730d14402d3db64f78aa07d7a;hb=dfdc976692bd07a731a17166d42b12fe86a32772;hp=270adce838594d8d30c3eba0c351872d6b13c069;hpb=b4772fe214970496cc647b4c2acd5847d237f563;p=platform%2Fcore%2Fuifw%2Finputdelegator.git diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 270adce..9536088 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -23,13 +23,13 @@ #include #include #include +#include #include "w-input-selector.h" #include "w-input-template.h" #include "w-input-keyboard.h" #include "w-input-stt-ise.h" #include "w-input-emoticon.h" -#include "w-input-stt-tos.h" #include @@ -48,6 +48,40 @@ static unsigned int g_template_item_size = 0; /* Current Template item size */ Evas_Coord last_step; // 0 ~ 9 for gesture, 10~11 for rotary +tizen_profile_t _get_tizen_profile() +{ + static tizen_profile_t profile = TIZEN_PROFILE_UNKNOWN; + if (__builtin_expect(profile != TIZEN_PROFILE_UNKNOWN, 1)) + return profile; + + char *profileName; + system_info_get_platform_string("http://tizen.org/feature/profile", &profileName); + switch (*profileName) + { + case 'm': + case 'M': + profile = TIZEN_PROFILE_MOBILE; + break; + case 'w': + case 'W': + profile = TIZEN_PROFILE_WEARABLE; + break; + case 't': + case 'T': + profile = TIZEN_PROFILE_TV; + break; + case 'i': + case 'I': + profile = TIZEN_PROFILE_IVI; + break; + default: // common or unknown ==> ALL ARE COMMON. + profile = TIZEN_PROFILE_COMMON; + } + free(profileName); + + return profile; +} + void _init_app_data(App_Data* app_data); static void _app_language_changed(app_event_info_h event_info, void *user_data); @@ -99,8 +133,13 @@ void init_customizing_theme(void) string stt_edj_path = get_resource_path(); string app_edj_path = get_resource_path(); - stt_edj_path = stt_edj_path + STT_EDJ_FILE; - app_edj_path = app_edj_path + APP_EDJ_FILE; + if (_WEARABLE) { + stt_edj_path = stt_edj_path + STT_EDJ_FILE_WEARABLE; + app_edj_path = app_edj_path + APP_EDJ_FILE_WEARABLE; + } else if (_MOBILE) { + stt_edj_path = stt_edj_path + STT_EDJ_FILE_MOBILE; + app_edj_path = app_edj_path + APP_EDJ_FILE_MOBILE; + } elm_theme_extension_add(NULL, stt_edj_path.c_str()); elm_theme_extension_add(NULL, app_edj_path.c_str()); @@ -120,23 +159,10 @@ static void _stt_clicked_cb(void *data, Evas_Object * obj, void *event_info) PRINTFUNC(DLOG_DEBUG, ""); - if(!ad) + if (!ad) return; -#if 0 - bool bAgreed = false; - stt_get_user_agreement(&bAgreed); - if(!bAgreed){ -#endif - if(is_tos_N66_agreed() == EINA_FALSE){ - if(is_sap_connection() == EINA_TRUE){ - ise_show_tos_n66_popup(ad); - } else { - launch_bt_connection_popup(ad); - } - } else { - ise_show_stt_popup(ad); - } + ise_show_stt_popup(ad); } static void _input_template_notify_cb(void *user_data) @@ -150,7 +176,7 @@ static void _emoticon_clicked_cb(void *data, Evas_Object * obj, void *event_info PRINTFUNC(DLOG_DEBUG, ""); - if(!ad) + if (!ad) return; ise_show_emoticon_list(ad); @@ -188,12 +214,12 @@ static void __ise_template_gl_sel(void *data, Evas_Object *obj, void *event_info static char * __ise_template_gl_text_get(void *data, Evas_Object *obj, const char *part) { - if(!strcmp(part, "elm.text")) { + if (!strcmp(part, "elm.text")) { unsigned int index = (uintptr_t)data; const std::vector template_list = input_template_get_list(); - if(index < template_list.size()) { - if(template_list[index].use_gettext) { + if (index < template_list.size()) { + if (template_list[index].use_gettext) { return strdup(gettext(template_list[index].text.c_str())); } else { Eina_Strbuf *buf = NULL; @@ -201,7 +227,7 @@ static char * __ise_template_gl_text_get(void *data, Evas_Object *obj, const cha char *markup = NULL; buf = eina_strbuf_new(); - if(buf) { + if (buf) { eina_strbuf_append(buf, template_list[index].text.c_str()); eina_strbuf_replace_all(buf, "\n", ""); eina_strbuf_replace_all(buf, "\r", ""); @@ -233,9 +259,14 @@ static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, Evas_Object* ic = elm_image_add(btn); elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE); string path = get_resource_path(); + if (_WEARABLE) + path = path + "wearable/"; + else + path = path + "mobile/"; + if (!strcmp(part, "elm.icon.1")) { string path_ic; - if(!strcmp(first_input_type, "input_voice")) { + if (!strcmp(first_input_type, "input_voice")) { elm_object_style_set(btn, "ime_button_stt"); path_ic = path + "images/w_mode_stt_ic.png"; } else if (!strcmp(first_input_type, "input_emoticon")) { @@ -251,7 +282,7 @@ static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, evas_object_layer_set(btn, 32000); } else if (!strcmp(part, "elm.icon.2")){ string path_ic; - if(!strcmp(second_input_type, "input_voice")) { + if (!strcmp(second_input_type, "input_voice")) { elm_object_style_set(btn, "ime_button_stt"); path_ic = path + "images/w_mode_stt_ic.png"; } else if (!strcmp(second_input_type, "input_emoticon")) { @@ -275,7 +306,7 @@ static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, string path = get_resource_path(); if (!strcmp(part, "elm.icon.1.touch_area")) { evas_object_layer_set(btn, 32000); - if(!strcmp(first_input_type, "input_voice")) { + if (!strcmp(first_input_type, "input_voice")) { evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); } else if (!strcmp(first_input_type, "input_emoticon")) { evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); @@ -285,7 +316,7 @@ static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, } } else if (!strcmp(part, "elm.icon.2.touch_area")){ evas_object_layer_set(btn, 32000); - if(!strcmp(second_input_type, "input_voice")) { + if (!strcmp(second_input_type, "input_voice")) { evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); } else if (!strcmp(second_input_type, "input_emoticon")) { evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); @@ -312,6 +343,11 @@ static Evas_Object * __ise_gl_3button_content_get(void *data, Evas_Object *obj, Evas_Object* ic = elm_image_add(btn); elm_image_resizable_set(ic, EINA_TRUE, EINA_TRUE); string path = get_resource_path(); + if (_WEARABLE) + path = path + "wearable/"; + else + path = path + "mobile/"; + if (!strcmp(part, "elm.icon.1")) { elm_object_style_set(btn, "ime_button_stt"); string path_ic = path + "images/w_mode_stt_ic.png"; @@ -373,7 +409,7 @@ static void __ise_gl_lang_changed(void *data, Evas_Object *obj, void *event_info void set_source_caller_app_id(app_control_h app_control) { - if(!app_control){ + if (!app_control){ PRINTFUNC(DLOG_ERROR, "can't get app_control"); return; } @@ -381,7 +417,7 @@ void set_source_caller_app_id(app_control_h app_control) char *caller = NULL; app_control_get_caller(app_data->source_app_control, &caller); - if(caller){ + if (caller){ PRINTFUNC(DLOG_DEBUG, "caller = %s", caller); app_control_add_extra_data(app_control, "caller_appid", caller); free(caller); @@ -394,7 +430,7 @@ void reply_to_sender_by_callback(const char *value, const char *type) app_control_h app_control; - if(app_control_create(&app_control) == 0) { + if (app_control_create(&app_control) == 0) { int ret; if (value) @@ -421,7 +457,7 @@ void reply_to_sender_by_callback_for_back() app_control_h app_control; - if(app_control_create(&app_control) == 0) { + if (app_control_create(&app_control) == 0) { int ret; app_control_add_extra_data(app_control, "back_to_composer", "yes"); @@ -438,7 +474,7 @@ void reply_to_sender_by_callback_for_back() char* get_resource_path() { - if(NULL == app_data->res_path) { + if (NULL == app_data->res_path) { app_data->res_path = app_get_resource_path(); PRINTFUNC(DLOG_INFO, "set resource path = %s", app_data->res_path); } @@ -447,7 +483,7 @@ char* get_resource_path() char* get_shared_resource_path() { - if(NULL == app_data->shared_res_path) { + if (NULL == app_data->shared_res_path) { app_data->shared_res_path = app_get_shared_resource_path(); PRINTFUNC(DLOG_INFO, "set shared resource path = %s", app_data->shared_res_path); } @@ -455,10 +491,10 @@ char* get_shared_resource_path() } void show_gl_focus(Eina_Bool bVisible){ - if(app_data->genlist == NULL) + if (app_data->genlist == NULL) return; - if(bVisible == EINA_TRUE){ + if (bVisible == EINA_TRUE){ elm_object_signal_emit(app_data->genlist, "elm,state,focus_bg,enable", "elm"); //elm_layout_theme_set(app_data->genlist, "genlist", "base", "focus_bg"); //elm_object_signal_emit(app_data->genlist, "elm,state,focus_bg,show", "elm"); @@ -482,12 +518,16 @@ void show_popup_toast(const char *text, bool check_img) if (check_img) { string path = get_resource_path(); + if (_WEARABLE) + path = path + "wearable/"; + else + path = path + "mobile/"; string path_ic = path + "/images/toast_check_icon.png"; Evas_Object * img = elm_image_add(popup); elm_image_file_set(img, path_ic.c_str(), NULL); elm_object_part_content_set(popup, "toast,icon", img); } - if(text) { + if (text) { elm_object_part_text_set(popup, "elm.text", text); } @@ -501,7 +541,7 @@ void show_popup_toast(const char *text, bool check_img) static void _popup_close_cb(void *data, Evas_Object *obj, void *event_info) { - if(obj){ + if (obj){ evas_object_hide(obj); evas_object_del(obj); } @@ -509,7 +549,7 @@ static void _popup_close_cb(void *data, Evas_Object *obj, void *event_info) static void _popup_back_cb(void *data, Evas_Object *obj, void *event_info) { - if(obj) + if (obj) elm_popup_dismiss(obj); } @@ -518,17 +558,17 @@ void _back_to_genlist_for_selector() { PRINTFUNC(DLOG_DEBUG, ""); - if(!app_data) return; + if (!app_data) return; - if(app_data->app_type == APP_TYPE_STT || app_data->app_type == APP_TYPE_EMOTICON){ + if (app_data->app_type == APP_TYPE_STT || app_data->app_type == APP_TYPE_EMOTICON){ PRINTFUNC(DLOG_DEBUG, "launched as STT/EMOTICON mode, So exit here."); reply_to_sender_by_callback(NULL, NULL); elm_exit(); } - - Evas_Object *circle_genlist = (Evas_Object *) evas_object_data_get(app_data->genlist, "circle"); - - eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE); + if (_WEARABLE) { + Evas_Object *circle_genlist = (Evas_Object *) evas_object_data_get(app_data->genlist, "circle"); + eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE); + } } static void _item_realized(void *data, Evas_Object *obj, void *event_info) //called when list scrolled @@ -539,16 +579,16 @@ static void _item_realized(void *data, Evas_Object *obj, void *event_info) //cal Evas_Object* _create_genlist(Evas_Object* navi) { Evas_Object* genlist = elm_genlist_add(navi); - if(NULL == genlist) + if (NULL == genlist) return NULL; elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); - - Evas_Object* circle_object_genlist = eext_circle_object_genlist_add(genlist, app_data->circle_surface); - eext_circle_object_genlist_scroller_policy_set(circle_object_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - evas_object_data_set(genlist, "circle", (void *) circle_object_genlist); - eext_rotary_object_event_activated_set(circle_object_genlist, EINA_TRUE); - + if (_WEARABLE) { + Evas_Object* circle_object_genlist = eext_circle_object_genlist_add(genlist, app_data->circle_surface); + eext_circle_object_genlist_scroller_policy_set(circle_object_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + evas_object_data_set(genlist, "circle", (void *) circle_object_genlist); + eext_rotary_object_event_activated_set(circle_object_genlist, EINA_TRUE); + } evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -574,8 +614,8 @@ Evas_Object* _create_genlist(Evas_Object* navi) static void _item_position_changed_cb(void *data, Evas_Object *obj, void *event_info) { - if(!obj) return; - if(!data) return; + if (!obj) return; + if (!data) return; Evas_Object *genlist = (Evas_Object *)obj; Elm_Object_Item *gen_item = (Elm_Object_Item *)data; @@ -616,9 +656,9 @@ void _create_genlist_items(void* user_data) { App_Data* app_data = (App_Data*) user_data; - if(NULL == app_data->genlist) { + if (NULL == app_data->genlist) { app_data->genlist = _create_genlist(app_data->naviframe); - if(NULL == app_data->genlist) + if (NULL == app_data->genlist) return; } @@ -632,7 +672,7 @@ void _create_genlist_items(void* user_data) itc0->func.del = NULL; Elm_Genlist_Item_Class * itc1 = elm_genlist_item_class_new(); - if(g_input_type_data.input_type_array_len == 2){ + if (g_input_type_data.input_type_array_len == 2){ itc1->item_style = "2button_flat"; itc1->func.text_get = NULL; itc1->func.content_get = __ise_gl_2button_content_get; @@ -827,9 +867,10 @@ bool _app_create(void* user_data) evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); conform = elm_conformant_add(window); - surface = eext_circle_surface_conformant_add(conform); - evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + if (_WEARABLE) + surface = eext_circle_surface_conformant_add(conform); + evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(window, conform); elm_object_content_set(conform, layout); @@ -866,7 +907,7 @@ void _app_service(app_control_h service, void* user_data) app_data->reply_type = REPLY_APP_NORMAL; ret = app_control_is_extra_data_array(service, APP_CONTROL_DATA_INPUT_TYPE, &is_extra_data_array); - if( is_extra_data_array == true) { + if ( is_extra_data_array == true) { ret = app_control_get_extra_data_array(service, APP_CONTROL_DATA_INPUT_TYPE, &input_type_array, &input_type_array_len); g_input_type_data.input_type_array = input_type_array; g_input_type_data.input_type_array_len = input_type_array_len; @@ -905,7 +946,7 @@ void _app_service(app_control_h service, void* user_data) ACTIVATE : elm_win_activate(app_data->win_main); - if(context) + if (context) free(context); } @@ -926,14 +967,14 @@ void _app_terminate(void* user_data) App_Data* app_data = NULL; app_data = (App_Data*)user_data; - if(app_data->genlist){ + if (app_data->genlist){ evas_object_smart_callback_del(app_data->genlist, "elm,item,position,changed", _item_position_changed_cb); } - if(app_data->res_path) + if (app_data->res_path) free(app_data->res_path); - if(app_data->shared_res_path) + if (app_data->shared_res_path) free(app_data->shared_res_path); input_keyboard_deinit();