From 21979ed92d01c3c2b0088f3a6a938256e262fc8e Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Tue, 29 Aug 2017 10:10:26 +0900 Subject: [PATCH 01/16] Remove unused variables Change-Id: I9227819101e8f3a6330092080b9160a044e099c1 Signed-off-by: Jihoon Kim --- src/w-input-selector.cpp | 7 +------ src/w-input-smartreply.cpp | 4 +--- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 8646781..d72a097 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -210,7 +210,6 @@ static void _keyboard_clicked_cb(void *data, Evas_Object * obj, void *event_info static void __ise_smartreply_gl_sel(void *data, Evas_Object *obj, void *event_info) { - App_Data* app_data = (App_Data*) data; Elm_Object_Item *item = (Elm_Object_Item *) event_info; if (item) { @@ -842,7 +841,6 @@ unsigned int _update_smartreply_items(void *user_data) Elm_Object_Item *first; Elm_Object_Item *menu; - Elm_Object_Item *pos; unsigned int i = 0; unsigned int len = 0; @@ -883,8 +881,6 @@ unsigned int _update_smartreply_items(void *user_data) itc->func.state_get = NULL; itc->func.del = NULL; - pos = menu; - for (i = 0; i < len; i++) { char *reply = "hello"; unsigned int j; @@ -898,7 +894,6 @@ unsigned int _update_smartreply_items(void *user_data) continue; PRINTFUNC(DLOG_DEBUG, "SmartReply = [%d]%s", i, reply); - for (j = 0; j < template_list.size(); j++) { const char *template_str; @@ -916,7 +911,7 @@ unsigned int _update_smartreply_items(void *user_data) if (matched == true) continue; - pos = elm_genlist_item_append(app_data->genlist, + elm_genlist_item_append(app_data->genlist, itc, (void *)(uintptr_t)i, NULL, diff --git a/src/w-input-smartreply.cpp b/src/w-input-smartreply.cpp index 3a0624a..aa1f5e6 100644 --- a/src/w-input-smartreply.cpp +++ b/src/w-input-smartreply.cpp @@ -317,8 +317,6 @@ bool input_smartreply_get_reply(void) bool input_smartreply_get_reply_async(void) { - int ret; - if (g_input_smartreply_data == NULL) { PRINTFUNC(DLOG_ERROR, "InputSmartreplyData uninitialized"); return false; @@ -334,7 +332,7 @@ bool input_smartreply_get_reply_async(void) return false; } - ret = smartreply_service_get_replies_async(g_input_smartreply_data->caller_id, + smartreply_service_get_replies_async(g_input_smartreply_data->caller_id, g_input_smartreply_data->sender, g_input_smartreply_data->message, _input_smartreply_get_reply_callback); -- 2.7.4 From 349ded7a02c15cd04a2d3a1ec6a2b5d172c38647 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Tue, 29 Aug 2017 20:12:48 +0900 Subject: [PATCH 02/16] Update package version to 0.1.170829 Change-Id: I00a0cd9b6ad1bcc4f2fcdd6ae50afe4abc77abf6 Signed-off-by: Jihoon Kim --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index fd710e6..5832351 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index 493425d..e59273c 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.170822 +Version: 0.1.170829 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From f7fc0aa295fc1e0a8c51c7f54e7b44b30a4c2dbe Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Fri, 1 Sep 2017 15:57:54 +0900 Subject: [PATCH 03/16] Support API for set/get cursor position Change-Id: Ie28b7e1215d0309ec3ef2ec53a5a54f4da871713 Signed-off-by: sungwook79.park --- inc/w-input-selector.h | 3 ++- src/w-input-emoticon.cpp | 4 ++-- src/w-input-keyboard.cpp | 18 ++++++++++++++++-- src/w-input-selector.cpp | 11 +++++++---- src/w-input-stt-voice.cpp | 2 +- 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/inc/w-input-selector.h b/inc/w-input-selector.h index e79cbf5..7ff2ed2 100755 --- a/inc/w-input-selector.h +++ b/inc/w-input-selector.h @@ -118,6 +118,7 @@ struct _InputKeyboardData char *default_text; char *return_key_type; int max_text_length; + int cursor_position_set; }; typedef struct _InputKeyboardData InputKeyboardData; @@ -130,7 +131,7 @@ typedef struct _InputTypeData InputTypeData; void _app_terminate(void* user_data); void reply_to_sender_by_callback_for_back(); -void reply_to_sender_by_callback(const char *value, const char *type, const char *path[]); +void reply_to_sender_by_callback(const char *value, const char *type, const char *path[], const char *cursor_pos); char* get_resource_path(); char* get_shared_resource_path(); void show_gl_focus(Eina_Bool bVisible); diff --git a/src/w-input-emoticon.cpp b/src/w-input-emoticon.cpp index a2ab3c9..d94c553 100755 --- a/src/w-input-emoticon.cpp +++ b/src/w-input-emoticon.cpp @@ -379,7 +379,7 @@ static void _drawing_app_control_reply_cb(app_control_h request, app_control_h r if(path){ PRINTFUNC(DLOG_DEBUG, "path=%s", path); char *pathes[] = {path, }; - reply_to_sender_by_callback(NULL, "image", (const char **)pathes); + reply_to_sender_by_callback(NULL, "image", (const char **)pathes, NULL); free(path); } ui_app_exit(); @@ -421,7 +421,7 @@ static void _emoticon_item_clicked_cb(void *data, Evas_Object * obj, void *event const Eina_Unicode unicode_event[2] = { (Eina_Unicode)emoticon_info[index].code, 0 }; char* utf_8 = eina_unicode_unicode_to_utf8(unicode_event, &length); - reply_to_sender_by_callback((const char*)utf_8, "emoticon", NULL); + reply_to_sender_by_callback((const char*)utf_8, "emoticon", NULL, NULL); PRINTFUNC(SECURE_DEBUG, "[%d]%s", index, utf_8); if (utf_8) diff --git a/src/w-input-keyboard.cpp b/src/w-input-keyboard.cpp index cd6356f..ba9a217 100755 --- a/src/w-input-keyboard.cpp +++ b/src/w-input-keyboard.cpp @@ -36,6 +36,7 @@ bool input_keyboard_init(app_control_h app_control) char *guide_text = NULL; char *return_key_type = "SEND"; char *max_text_length = NULL; + char *cursor_position_set = "0"; input_keyboard_deinit(); @@ -55,6 +56,10 @@ bool input_keyboard_init(app_control_h app_control) if (ret == APP_CONTROL_ERROR_NONE) { g_input_keyboard_data.max_text_length = atoi(max_text_length); } + ret = app_control_get_extra_data(app_control, "cursor_position_set", &cursor_position_set); + if (ret == APP_CONTROL_ERROR_NONE) { + g_input_keyboard_data.cursor_position_set = atoi(cursor_position_set); + } return true; } @@ -74,6 +79,7 @@ void input_keyboard_deinit(void) g_input_keyboard_data.guide_text = NULL; g_input_keyboard_data.return_key_type = "SEND"; g_input_keyboard_data.max_text_length = KEYBOARD_EDITOR_CHAR_COUNT_MAX; + g_input_keyboard_data.cursor_position_set = 0; return; } @@ -90,6 +96,9 @@ void exit_keyboard() const char *getText = elm_entry_entry_get(entry); LOGD("button key clicked!! : getText = %s", getText); + char cursorPosition[512]; + snprintf(cursorPosition, sizeof(cursorPosition), "%d", elm_entry_cursor_pos_get(entry)); + char *app_id = NULL; app_control_get_caller(app_data->source_app_control, &app_id); if (app_id != NULL) @@ -97,9 +106,8 @@ void exit_keyboard() app_control_set_operation(app_control, APP_CONTROL_OPERATION_DEFAULT); set_source_caller_app_id(app_control); free(app_id); - reply_to_sender_by_callback(getText, "keyboard", NULL); + reply_to_sender_by_callback(getText, "keyboard", NULL, cursorPosition); ui_app_exit(); - } void btn_clicked_cb(void *data, Evas_Object *obj, void *event_info) @@ -166,6 +174,9 @@ void create_fullscreen_editor(void *data) elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); evas_object_smart_callback_add(entry, "activated", enter_keydown_cb, ad); } + if (g_input_keyboard_data.cursor_position_set != 0) { + elm_entry_cursor_pos_set(entry, g_input_keyboard_data.cursor_position_set); + } evas_object_show(entry); elm_box_pack_end(box, entry); @@ -229,6 +240,9 @@ static Evas_Object *create_multiline_editfield_layout(Evas_Object *parent, void elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); evas_object_smart_callback_add(entry, "activated", enter_keydown_cb, ad); } + if (g_input_keyboard_data.cursor_position_set != 0) { + elm_entry_cursor_pos_set(entry, g_input_keyboard_data.cursor_position_set); + } evas_object_show(entry); elm_object_part_content_set(editfield, "elm.swallow.content", entry); diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index d72a097..57320ec 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -221,7 +221,7 @@ static void __ise_smartreply_gl_sel(void *data, Evas_Object *obj, void *event_in char *reply = input_smartreply_get_nth_item(index, &type); if (reply) { input_smartreply_send_feedback(reply); - reply_to_sender_by_callback(reply, "smartreply", NULL); + reply_to_sender_by_callback(reply, "smartreply", NULL, NULL); free(reply); elm_exit(); } @@ -240,7 +240,7 @@ static void __ise_template_gl_sel(void *data, Evas_Object *obj, void *event_info const std::vector template_list = input_template_get_list(); if (index < (int)template_list.size()) { - reply_to_sender_by_callback(gettext(template_list[index].text.c_str()), "template", NULL); + reply_to_sender_by_callback(gettext(template_list[index].text.c_str()), "template", NULL, NULL); ui_app_exit(); } } @@ -479,7 +479,7 @@ void set_source_caller_app_id(app_control_h app_control) } } -void reply_to_sender_by_callback(const char *value, const char *type, const char *path[]) +void reply_to_sender_by_callback(const char *value, const char *type, const char *path[], const char *cursor_position) { PRINTFUNC(DLOG_DEBUG, ""); @@ -498,6 +498,9 @@ void reply_to_sender_by_callback(const char *value, const char *type, const char app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_PATH, path, 1); } + if (cursor_position != NULL) + app_control_add_extra_data(app_control, "cursor_position_get", cursor_position); + set_source_caller_app_id(app_control); ret = app_control_reply_to_launch_request(app_control, app_data->source_app_control, APP_CONTROL_RESULT_SUCCEEDED); @@ -627,7 +630,7 @@ void _back_to_genlist_for_selector() } if (app_data->app_type == APP_TYPE_STT || app_data->app_type == APP_TYPE_EMOTICON || app_data->app_type == APP_TYPE_KEYBOARD){ PRINTFUNC(DLOG_DEBUG, "launched as STT/EMOTICON/KEYBOARD mode, So exit here."); - reply_to_sender_by_callback(NULL, NULL, NULL); + reply_to_sender_by_callback(NULL, NULL, NULL, NULL); ui_app_exit(); } } diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index fb0c086..1795cc8 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -479,7 +479,7 @@ static void on_confirm_button_clicked_cb(void *data, Evas_Object *obj, void *eve if (!vr) filePath = vr->file_path; char *path[] = {filePath, }; - reply_to_sender_by_callback(result_text.c_str(), "voice", (const char **)path); + reply_to_sender_by_callback(result_text.c_str(), "voice", (const char **)path, NULL); destroy_voice(); powerUnlock(); ui_app_exit(); -- 2.7.4 From 5798b48ceb06da18d6331298eb37cb41a39cbc1f Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Mon, 4 Sep 2017 14:03:19 +0900 Subject: [PATCH 04/16] Update package version to 0.1.170904 Change-Id: I0c1c9adf0d23176674f666d90eb89041ea7dbd92 Signed-off-by: sungwook79.park --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index 5832351..801deaf 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index e59273c..8816db5 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.170829 +Version: 0.1.170904 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From 24f5f31a600ec6887592f2e6291e73c8a2161304 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Thu, 7 Sep 2017 13:28:52 +0900 Subject: [PATCH 05/16] Modify the screen UI for stt mode and refactoring code Change-Id: Icee4362896d7604caa3c1798d2a95e96a988add2 Signed-off-by: sungwook79.park --- edje/wearable/images/wi_stt_icon_error.png | Bin 0 -> 1445 bytes inc/MoreOption.h | 15 + inc/w-input-stt-engine.h | 6 +- inc/w-input-stt-ise.h | 1 + inc/w-input-stt-voice.h | 7 + po/en_US.po | 2 +- res/wearable/edje/w-input-stt.edc | 801 +++++++++++++++-------------- src/MoreOption.cpp | 365 ++++++++++--- src/SttFeedback.cpp | 5 + src/w-input-emoticon.cpp | 7 +- src/w-input-selector.cpp | 5 +- src/w-input-stt-ise.cpp | 13 +- src/w-input-stt-voice.cpp | 753 +++++++++++++++++---------- 13 files changed, 1224 insertions(+), 756 deletions(-) create mode 100644 edje/wearable/images/wi_stt_icon_error.png diff --git a/edje/wearable/images/wi_stt_icon_error.png b/edje/wearable/images/wi_stt_icon_error.png new file mode 100644 index 0000000000000000000000000000000000000000..7720b4f0b5c95a5ec7631938251f6b639a8a99c1 GIT binary patch literal 1445 zcmaJ>eM}Q)7%vuK#o;st_Tjdi$1pJ0_P%Kk3bws=Hc~`rgvBs-TwmaX_UheX3z(tI z5pkQ_m>WViX5!SrB4I;xVxkk+2V*e-M}}KW)MaI3L*rsL-9+~mDDw~EC-tE?_}&<5x&epBRY$Q}D3z%}UIrSgS1JXF z%g2|40>FD~whe(SjYb<1J;iFVJC_wCpMj6q7(%`PL~ArzIiUbAR00(#1?8gOf?hv; z7DYs_1udf8m^)wx72>*D85Gv$d4$?Z!R$qIvXQJ13kiHc<&luD%CE2?3p&Hg!g*xd zh$1s4YNZ986;Xe5ZXZM1q{a#hB4q2%`o_L2!Y{*5ra3Q$0?R(SRwTv^ZxRSmF4V=x#r1WAJ=mm6`j*&N{@2tBmWD>Z(V59$3%N|b>EiXe*t zRh0Zlgpn_ms#OaLmClCX3%K3$#C~NiQ7~o35Faq&2F&R5MdF&VR@4IUzl;T~6;Dk7 z7z=jIle+jLk`y=_toSSkj3xI7xCeM?s{6F=Gyg*=lvtjETq~7&3}=`4yG- z3n1!Ogns9+_6K5Fy9{_$l0A}C6|I2$3Q3ie3Mqit3mGJ>Nc4N9ppqUrp4n(QAdB09 z*C|UrWG26?xPX7!%-QS?$_7K^91M(`ut6y{lZnQyP7_9{dHeqUV&&(H%P*&nykkmE-n2F)y#BkA-rLkP7WbDmXM0Px`K|1` zx0X`zTR!?dVLzp-S={pN_=((}&bsc@3;x`W&?hH;nW}6%*|j-*a_rsCEx)z%K$}Df zHN$tBZ+4XMgX2BzWv^PkI^*nn^T^Phw9f`t4<8ph(?5s@;nw%5te-sZ;V&=R^weHQ z`>FcQPU`a2Ws3|WJISSu+387bM`G;p1Gat~Pro^pd?tN*ti7*&jj9_zJk_CHeV}p4 z!Mta6Mc1i=zm^Z@4s7eb_GwaL+o%$6A9?ZVb3Hr4leS}r_0Fb$7A2JyzAd==E{u)t z;Xkh2KsR1$>#|(h`Sb4MH(Lcy|3t5(y&LNw&Zd1mo>(0GP(t~o{j1JjENni6OxGWXQ^!tf aw3_`(>h8U9c(Nn%<8(RlxGvjE4gUdwn+Mte literal 0 HcmV?d00001 diff --git a/inc/MoreOption.h b/inc/MoreOption.h index f410d52..1aca4ff 100755 --- a/inc/MoreOption.h +++ b/inc/MoreOption.h @@ -47,6 +47,14 @@ class MoreOption Evas_Object *getMoreOptionLayout(){return more_option_layout;}; + static void moreOptionOpened(void *data, Evas_Object * obj, void *event_info); + static void moreOptionClosed(void *data, Evas_Object * obj, void *event_info); + + static void moreItemClicked(void *data, Evas_Object * obj, void *event_info); + static void moreItemSelected(void *data, Evas_Object * obj, void *event_info); + Eina_Bool isMoreOptionOpened(){ return option_opened;}; + Eina_Bool discard_popup_opened; + private : /** * Main layout @@ -68,5 +76,12 @@ class MoreOption * */ Evas_Object *AddLanguageIcon(Evas_Object *parent); + + /** + * Show /Hide Cue button of More Option. + * + */ + void hideCue(); + void showCue(); }; diff --git a/inc/w-input-stt-engine.h b/inc/w-input-stt-engine.h index 0cf85e1..044a7a3 100755 --- a/inc/w-input-stt-engine.h +++ b/inc/w-input-stt-engine.h @@ -65,15 +65,13 @@ struct _VoiceData Evas_Object *progressbar; //progressbar Evas_Object *scroller; //scroller Evas_Object *main_entry; //entry - Evas_Object *mic_button; //MIC button + Evas_Object *bottom_button; //bottom button SttStateVal state; char *kbd_lang; + Ecore_Timer *setup_timer; Ecore_Timer *start_timer; Ecore_Timer *refresh_timer; - Ecore_Timer *progressbar_timer; Ecore_Timer *textblock_timer; - Ecore_Timer *guide_text_timer; - Ecore_Timer *btn_disabling_timer; Ecore_Timer *power_unlock_timer; std::vector stt_results; diff --git a/inc/w-input-stt-ise.h b/inc/w-input-stt-ise.h index 9be2138..99aaae9 100755 --- a/inc/w-input-stt-ise.h +++ b/inc/w-input-stt-ise.h @@ -47,6 +47,7 @@ extern "C" void show_voice_input(Evas_Object *parent, const char *lang, void (*get_string)(char *, int)); void pause_voice(); +void resume_voice(); void destroy_voice(); int is_lang_supported_by_voice_input(const char *lang); void ise_show_stt_popup(void *data); diff --git a/inc/w-input-stt-voice.h b/inc/w-input-stt-voice.h index 685f252..7696789 100755 --- a/inc/w-input-stt-voice.h +++ b/inc/w-input-stt-voice.h @@ -81,10 +81,12 @@ int init_voice(Evas_Object *parent, const char *lang, VoiceData *r_voicedata); int is_lang_supported_by_stt(char lang[]); Evas_Object *show_voice_window(Evas_Object *parent, VoiceData *voicedata); void on_stt_pause(VoiceData *voicedata); +void on_stt_resume(VoiceData *voicedata); void on_destroy(VoiceData *voicedata); const char* get_lang_label(char lang[]); void _stt_lang_changed_cb(keynode_t *key, void* data); void start_by_press(VoiceData *voicedata); +void restart_listening(double in); void voice_get_string(const char *keyValue, VoiceData *voicedata); void create_setting_window(Evas_Object *more_option_layout); void activate_circle_scroller_for_stt_textbox(void* data, Eina_Bool bActivate); @@ -92,6 +94,11 @@ void stt_feedback_initialize(); void stt_feedback_deinitialize(); void show_error_message(VoiceData *voicedata, stt_error_e reason); void powerUnlock(void); +Evas_Object *create_text_detiled_view(Evas_Object *parent); +bool is_textblock_empty(void *data); +void set_textblock_empty(void *data); +void show_bottom_button(void* data, bool delayed); +void hide_bottom_button(void* data); #endif /* W_INPUT_STT_VOICE_H_ */ diff --git a/po/en_US.po b/po/en_US.po index 4331d77..8d82798 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -125,7 +125,7 @@ msgid "IDS_MSG_HEADER_QUICK_RESPONSES_ABB" msgstr "Quick responses" msgid "IDS_AMEMO_BUTTON_SEND" -msgstr "Send" +msgstr "SEND" msgid "IDS_IME_BODY_OK_HAND_SIGN_M_EMOTICON_NAME_TTS" msgstr "OK hand sign" diff --git a/res/wearable/edje/w-input-stt.edc b/res/wearable/edje/w-input-stt.edc index 13168ba..89fdbf1 100755 --- a/res/wearable/edje/w-input-stt.edc +++ b/res/wearable/edje/w-input-stt.edc @@ -1,7 +1,7 @@ #include "w-input-stt-button.edc" #define VOICE_CANDIDATE_AREA_HEIGHT 56 -#define BUTTON_TEXT_SIZE_INC 85 +#define BUTTON_TEXT_SIZE_INC 80 collections { @@ -36,11 +36,6 @@ collections * web: http://slp-info.sec.samsung.net/gerrit/plugins/gitiles/magnolia/framework/system/libsvi */ } - plugin { - name: "haptic_tap"; - source: "feedback"; - param: "FEEDBACK_TYPE_VIBRATION FEEDBACK_PATTERN_TAP"; - } } images { @@ -50,8 +45,6 @@ collections image, "./icon/B13_mic_Que.png" COMP; image, "./icon/B13_mic_Que_01.png" COMP; image, "./icon/B13_mic_procecessing_bg.png" COMP; - image, "./text_downdrop.#.png" COMP; - image, "./text_downdrop_press.#.png" COMP; image, "./input_ic_voice_mic.png" COMP; image, "./w_sip_mask_bg.png" COMP; @@ -64,6 +57,7 @@ collections image, "./b_stt_icon_btn.png" COMP; image, "./b_stt_confirm_icon.png" COMP; image, "./b_stt_send_icon.png" COMP; + image, "./wi_stt_icon_error.png" COMP; } color_classes @@ -387,7 +381,7 @@ collections { name: "AT0114"; # color: 0 0 0 100; - color: 128 128 128 100; + color: 128 128 128 100; } color_class { @@ -469,14 +463,23 @@ collections tag, "b" "+ font=Tizen:style=Bold"; tag, "tab" "\t"; } + style { name: "button_general_text_normal"; + base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE_INC" align=center color=#FFFFFF ellipsis=0.0 wrap=mixed"; + } style { name: "button_general_text_dim"; base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE_INC" align=center color=#FFFFFF ellipsis=0.0 wrap=mixed"; } style { name: "button_general_text_press"; base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE_INC" align=center color=#888888 ellipsis=0.0 wrap=mixed"; } - style { name: "button_general_text_normal"; - base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE_INC" align=center color=#FFFFFF ellipsis=0.0 wrap=mixed"; + style { name: "button_send_text_normal"; + base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE_INC" align=center color=#FFFFFF color_class=AT0117 ellipsis=0.0 wrap=mixed"; + } + style { name: "button_cue_text_normal"; + base: "font=Tizen:style=Regular font_size="BUTTON_TEXT_SIZE_INC" align=center color=#FFFFFF color_class=AT032 ellipsis=0.0 wrap=mixed"; + } + style { name: "button_bottom_text_normal"; + base: "font=Tizen:style=Regular font_size=26 align=center color=#FFFFFF color_class=AT0118"; } } @@ -507,6 +510,21 @@ collections } part { + name, "access_bg"; + type, SWALLOW; + scale, 1; + description + { + state, "default" 0.0; + visible, 1; + min, 360 360; + max, 360 360; + rel1.to, "bg"; + rel2.to, "bg"; + } + } + part + { name, "top_block"; type, SPACER; scale, 1; @@ -526,6 +544,23 @@ collections to, "bg"; } } + description + { + state, "hide" 0.0; + min, 360 360; + align, 0.5 0; + rel1 + { + relative, 0.0 0.0; + to, "bg"; + } + rel2 + { + relative, 1.0 0.0; + to, "bg"; + } + } + } part @@ -536,20 +571,18 @@ collections { state, "default" 0.0; align, 0.5 1; - min, 282 (360-103); - max, 282 (360-103); + min, 282 360; + max, 282 360; rel1 { relative, 39/360 1; - to, "top_block"; - offset, 0 -1; + to, "bg"; } rel2 { relative, 321/360 1; - to, "top_block"; - offset, 0 -1; + to, "bg"; } } } @@ -583,11 +616,11 @@ collections description { state, "default" 0.0; - min, 360 100; - max, 360 100; + min, 360 78; + max, 360 78; rel1 { - relative, 0 260/360; + relative, 0 (360-78)/360; to, "bg"; } rel2 @@ -600,6 +633,25 @@ collections } description { + state, "hide" 0.0; + min, 360 78; + max, 360 78; + rel1 + { + relative, 0 1; + to, "bg"; + } + rel2 + { + relative, 1 (360+78)/360; + to, "bg"; + } + image.normal, "./tw_bottom_btn_bg.png"; + color: 128 128 128 128; + } + + description + { state, "pressed" 0.0; inherit, "default" 0.0; color: 128 128 128 128; @@ -658,7 +710,6 @@ collections } } - part { name, "EFFECT_BG"; @@ -686,123 +737,286 @@ collections } } - + //Part for mic button part { - name, "MIC_ICON"; - type, IMAGE; + name, "BOTTOM_BUTTON"; + type, SWALLOW; + scale, 1; + description + { + state, "default" 0.0; + visible, 1; + min, 290 78; + max, 290 78; + rel1 + { + relative, 35/360 0.0; + to, "background"; + } + rel2 + { + relative, 325/360 1.0; + to, "background"; + } + } + } + part + { + name, "PROGRESS_BAR"; + type, SWALLOW; scale, 1; description { state, "default" 0.0; min, 50 50; max, 50 50; + visible, 0; rel1 { - relative, 155/360 26/100; + relative, 155/360 27/100; to, "background"; } rel2 { - relative, 205/360 76/100; + relative, 205/360 77/100; to, "background"; } - image.normal, "./input_ic_voice_mic.png"; } description { - state, "recording" 0.0; + state, "message" 0.0; inherit, "default" 0.0; - visible, 0; } description { state, "processing" 0.0; inherit, "default" 0.0; - visible, 0; + visible, 1; + } } + + part + { + name, "cue_text_block"; + type, SPACER; description { - state, "message" 0.0; - inherit, "default" 0.0; + state, "default" 0.0; + align, 0.5 0; rel1 { - relative, 155/360 41/100; - to, "background"; + relative, 30/360 158/360; + to, "bg"; } rel2 { - relative, 205/360 91/100; - to, "background"; + relative, (360-30)/360 (158+43)/360; + to, "bg"; + } + } + } + + part + { + name, "elm.text.cue"; + type, TEXTBLOCK; + mouse_events, 0; + scale, 1; + description + { + state, "default" 0.0; + visible, 0; + rel1.to, "cue_text_block"; + rel2.to, "cue_text_block"; + text + { + fit: 1 1; + style, "button_cue_text_normal"; } + } + description + { + state, "show" 0.0; visible, 1; + align, 0.5 0.6; + rel1.to, "cue_text_block"; + rel2.to, "cue_text_block"; + text + { + fit: 1 1; + style, "button_cue_text_normal"; + } + } + } + + part + { + name, "guide_text_block_left_padding"; + type, SPACER; + description + { + state, "default" 0.0; + min, (80+28+8) 0; + max, (80+28+8) -1; + fixed, 1 0; + align, 0.0 0.0; + rel1 + { + relative, 0 (360-70)/360; + to, "bg"; + } + rel2 + { + relative, 0 (360-33)/360; + to, "bg"; } } + } + part + { + name, "guide_text_block_right_padding"; + type, SPACER; + description + { + state, "default" 0.0; + min, 80 0; + max, 80 -1; + fixed, 1 0; + align, 1.0 0.0; + rel1 + { + relative, 1 (360-70)/360; + to, "bg"; + } + rel2 + { + relative, 1 (360-33)/360; + to, "bg"; + } + } + } - //Part for mic button part { - name, "MIC"; - type, SWALLOW; - scale, 1; + name, "guide_text_block"; + type, SPACER; description { state, "default" 0.0; - visible, 1; - min, 290 100; - max, 290 100; + align, 0.5 0; rel1 { - relative, 35/360 0.0; - to, "background"; + relative, 1.0 0.0; + to, "guide_text_block_left_padding"; } rel2 { - relative, 325/360 1.0; - to, "background"; + relative, 0.0 1.0; + to, "guide_text_block_right_padding"; } } + } part { - name, "PROGRESS_BAR"; - type, SWALLOW; + name, "elm.text"; + type, TEXTBLOCK; + mouse_events, 0; scale, 1; description { state, "default" 0.0; - min, 50 50; - max, 50 50; + min, 0 37; + max, -1 37; + fixed, 0 1; + align, 0.5 0.5; + text { + min, 0 1; + max, 1 1; + ellipsis, -1.0; + fade_ellipsis, 1.0; + style, "button_bottom_text_normal"; + } visible, 0; rel1 { - relative, 155/360 27/100; - to, "background"; + relative, 0.0 0.0; + to, "guide_text_block"; } rel2 { - relative, 205/360 77/100; - to, "background"; + relative, 1.0 1.0; + to, "guide_text_block"; } } description { - state, "message" 0.0; - inherit, "default" 0.0; + state, "show" 0.0; + inherit, "default"; + visible, 1; + } } + part + { + name, "guide_text_block_icon_padding"; + type, SPACER; description { - state, "processing" 0.0; - inherit, "default" 0.0; - visible, 1; + state, "default" 0.0; + min, 8 0; + max, 8 -1; + fixed, 1 0; + align, 1.0 0.0; + rel1 + { + relative, 0 0; + to, "elm.text"; + } + rel2 + { + relative, 0 1; + to, "elm.text"; } } + } part { - name, "guide_text_block"; + name, "error_icon"; + type, IMAGE; + description + { + state, "default" 0.0; + min, 28 37; + max, 28 37; + align, 1.0 0.5; + rel1 + { + relative, 0.0 0.0; + to, "guide_text_block_icon_padding"; + } + rel2 + { + relative, 0.0 1.0; + to, "guide_text_block_icon_padding"; + } + image.normal, "./wi_stt_icon_error.png"; + color_class, "AO015"; + visible, 0; + } + description + { + state, "show" 0.0; + inherit, "default"; + visible, 1; + } + } + part + { + name, "send_text_block"; type, SPACER; description { @@ -810,35 +1024,35 @@ collections align, 0.5 0; rel1 { - relative, 39/360 140/360; - to, "bg"; + relative, 105/360 5/78; + to, "background"; } rel2 { - relative, (360-39)/360 (140+42)/360; - to, "bg"; + relative, (360-105)/360 (78-38)/78; + to, "background"; } } description { - state, "bottom" 0.0; + state, "expand" 0.0; align, 0.5 0; rel1 { - relative, 74/360 (360-91)/360; - to, "bg"; + relative, 84/360 18/78; + to, "background"; } rel2 { - relative, (360-74)/360 (360-57)/360; - to, "bg"; - } + relative, (360-82)/360 (78-23)/78; + to, "background"; } } + } part { - name, "elm.text"; + name, "elm.text.send"; type, TEXTBLOCK; mouse_events, 0; scale, 1; @@ -846,28 +1060,17 @@ collections { state, "default" 0.0; visible, 1; - align, 0.5 0.6; - rel1.to, "guide_text_block"; - rel2.to, "guide_text_block"; - text - { - fit: 1 1; - style, "textblock_style"; - } - color, 120 120 120 120; - } - description - { - state, "bottom" 0.0; - inherit, "default" 0.0; + align, 0.5 0.5; + rel1.to, "send_text_block"; + rel2.to, "send_text_block"; text { fit: 1 1; - style, "textblock_style_bottom"; + style, "button_send_text_normal"; } - color, 120 120 120 120; } } + } programs @@ -889,60 +1092,73 @@ collections program { - name, "listening"; - signal, "elm,state,listening"; + name, "cue_text_show"; + signal, "idle,state,cue_text,visible"; source, "elm"; - action, STATE_SET "recording" 0.0; - target, "MIC_ICON"; + action, STATE_SET "show" 0.0; + target, "elm.text.cue"; + after: "cue_text_hide"; } program { - name, "start_processing"; - signal, "elm,state,processing"; + name, "cue_text_hide"; + signal, "idle,state,cue_text,hidden"; source, "elm"; - action, STATE_SET "processing" 0.0; - target, "PROGRESS_BAR"; - target, "MIC_ICON"; - transition, DECELERATE 0.3; + in, 2.0 0.0; + action, STATE_SET "default" 0.0; + target, "elm.text.cue"; } program { - name, "idle"; - signal, "elm,state,init"; + name, "text_show"; + signal, "idle,state,text,visible"; source, "elm"; - action, STATE_SET "default" 0.0; - target, "PROGRESS_BAR"; - target, "MIC_ICON"; - transition, DECELERATE 0.3; + action, STATE_SET "show" 0.0; + target, "elm.text"; + target, "error_icon"; + after: "text_hide_delayed"; } + program { - name, "idle_message"; - signal, "elm,state,init_message"; + name, "text_hide"; + signal, "idle,state,text,hidden"; source, "elm"; - action, STATE_SET "message" 0.0; - target, "PROGRESS_BAR"; - target, "MIC_ICON"; + action, STATE_SET "default" 0.0; + target, "elm.text"; + target, "error_icon"; } program { - name, "text_show"; - signal, "idle,state,text,visible"; + name, "text_hide_delayed"; + signal, "idle,state,text,hidden,delayed"; source, "elm"; - action, STATE_SET "expand" 0.0; + in, 2.0 0.0; + action, STATE_SET "default" 0.0; target, "elm.text"; + target, "error_icon"; } program { - name, "text_hide"; - signal, "idle,state,text,hidden"; + name, "contract_send_text"; + signal, "idle,state,send,text,contract"; source, "elm"; action, STATE_SET "default" 0.0; - target, "elm.text"; + target, "send_text_block"; + + } + program + { + name, "expand_send_text"; + signal, "idle,state,send,text,expand"; + source, "elm"; + action, STATE_SET "expand" 0.0; + target, "send_text_block"; + } program { @@ -962,24 +1178,55 @@ collections target, "EFFECT_BG"; } + // Button program { - name, "guide_text_up"; - signal, "idle,state,guide_text,up"; + name, "bottom_button_show"; + signal, "idle,state,show,bottom_button"; source, "elm"; action, STATE_SET "default" 0.0; - target, "guide_text_block"; + target, "background"; + transition, DECELERATE 0.2; } program { - name, "guide_text_bottom"; - signal, "idle,state,guide_text,bottom"; + name, "bottom_button_show_delayed"; + signal, "idle,state,show,bottom_button,delayed"; source, "elm"; - action, STATE_SET "bottom" 0.0; - target, "guide_text_block"; + in, 2.0 0.0; + action, STATE_SET "default" 0.0; + target, "background"; + transition, DECELERATE 0.2; } - + program + { + name, "bottom_button_hide"; + signal, "idle,state,hide,bottom_button"; + source, "elm"; + action, STATE_SET "hide" 0.0; + target, "background"; + transition, DECELERATE 0.2; + } + // EFFECT Area + program + { + name, "bottom_effect_show"; + signal, "idle,state,show,effect"; + source, "elm"; + action, STATE_SET "default" 0.0; + target, "EFFECT_BG_AREA"; + transition, DECELERATE 0.2; + } + program + { + name, "bottom_effect_hide"; + signal, "idle,state,hide,effect"; + source, "elm"; + action, STATE_SET "hide" 0.0; + target, "EFFECT_BG_AREA"; + transition, DECELERATE 0.2; + } } } @@ -1117,7 +1364,15 @@ collections type: SWALLOW; description { state: "default" 0.0; min: 282 39; - color, 120 120 120 120; + align: 0.5 1; + rel1 + { + relative, 0.0 1.0; + } + rel2 + { + relative, 1.0 1.0; + } } } } @@ -1158,7 +1413,7 @@ collections relative, 1.0 1.0; } visible: 1; - color, 120 120 120 120; + color: 0 0 0 255; } } part { name: "padding_top"; @@ -1169,7 +1424,7 @@ collections align: 0.0 0.0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 0.0; - min: 0 20; + min: 0 24; fixed: 1 1; } } @@ -1215,205 +1470,6 @@ collections -#define PROGRESSBAR_ACTIVITY_SMALL_SIZE_INC 50 - group - { - name: "elm/progressbar/horizontal/voice_input/process/small"; - images { - image: "style/tw_loading_small_00.png" COMP; - image: "style/tw_loading_small_01.png" COMP; - image: "style/tw_loading_small_02.png" COMP; - image: "style/tw_loading_small_03.png" COMP; - image: "style/tw_loading_small_04.png" COMP; - image: "style/tw_loading_small_05.png" COMP; - image: "style/tw_loading_small_06.png" COMP; - image: "style/tw_loading_small_07.png" COMP; - image: "style/tw_loading_small_08.png" COMP; - image: "style/tw_loading_small_09.png" COMP; - image: "style/tw_loading_small_10.png" COMP; - image: "style/tw_loading_small_11.png" COMP; - image: "style/tw_loading_small_12.png" COMP; - image: "style/tw_loading_small_13.png" COMP; - image: "style/tw_loading_small_14.png" COMP; - image: "style/tw_loading_small_15.png" COMP; - image: "style/tw_loading_small_16.png" COMP; - image: "style/tw_loading_small_17.png" COMP; - image: "style/tw_loading_small_18.png" COMP; - image: "style/tw_loading_small_19.png" COMP; - image: "style/tw_loading_small_20.png" COMP; - image: "style/tw_loading_small_21.png" COMP; - image: "style/tw_loading_small_22.png" COMP; - image: "style/tw_loading_small_23.png" COMP; - image: "style/tw_loading_small_24.png" COMP; - image: "style/tw_loading_small_25.png" COMP; - image: "style/tw_loading_small_26.png" COMP; - image: "style/tw_loading_small_27.png" COMP; - image: "style/tw_loading_small_28.png" COMP; - image: "style/tw_loading_small_29.png" COMP; - image: "style/tw_loading_small_30.png" COMP; - image: "style/tw_loading_small_31.png" COMP; - image: "style/tw_loading_small_32.png" COMP; - image: "style/tw_loading_small_33.png" COMP; - image: "style/tw_loading_small_34.png" COMP; - image: "style/tw_loading_small_35.png" COMP; - image: "style/tw_loading_small_36.png" COMP; - image: "style/tw_loading_small_37.png" COMP; - image: "style/tw_loading_small_38.png" COMP; - image: "style/tw_loading_small_39.png" COMP; - image: "style/tw_loading_small_40.png" COMP; - image: "style/tw_loading_small_41.png" COMP; - image: "style/tw_loading_small_42.png" COMP; - image: "style/tw_loading_small_43.png" COMP; - image: "style/tw_loading_small_44.png" COMP; - image: "style/tw_loading_small_45.png" COMP; - image: "style/tw_loading_small_46.png" COMP; - image: "style/tw_loading_small_47.png" COMP; - image: "style/tw_loading_small_48.png" COMP; - image: "style/tw_loading_small_49.png" COMP; - image: "style/tw_loading_small_50.png" COMP; - image: "style/tw_loading_small_51.png" COMP; - image: "style/tw_loading_small_52.png" COMP; - image: "style/tw_loading_small_53.png" COMP; - image: "style/tw_loading_small_54.png" COMP; - image: "style/tw_loading_small_55.png" COMP; - image: "style/tw_loading_small_56.png" COMP; - image: "style/tw_loading_small_57.png" COMP; - image: "style/tw_loading_small_58.png" COMP; - image: "style/tw_loading_small_59.png" COMP; - image: "style/tw_loading_small_60.png" COMP; - image: "style/tw_loading_small_61.png" COMP; - image: "style/tw_loading_small_62.png" COMP; - image: "style/tw_loading_small_63.png" COMP; - image: "style/tw_loading_small_64.png" COMP; - } - parts { - part { - name: "access"; - type: RECT; - description - { - state: "default" 0.0; - fixed: 1 1; - color: 0 0 0 0; - } - } - part { - name: "elm.background.progressbar"; - mouse_events: 0; - scale: 1; - type: RECT; - description { - state: "default" 0.0; - } - } - part { - name: "bar"; - mouse_events: 0; - scale: 1; - clip_to: "elm.background.progressbar"; - description { - state: "default" 0.0; - min: PROGRESSBAR_ACTIVITY_SMALL_SIZE_INC PROGRESSBAR_ACTIVITY_SMALL_SIZE_INC; - max: PROGRESSBAR_ACTIVITY_SMALL_SIZE_INC PROGRESSBAR_ACTIVITY_SMALL_SIZE_INC; - fixed, 1 1; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image.normal: "style/tw_loading_small_00.png"; - image.tween: "style/tw_loading_small_01.png"; - image.tween: "style/tw_loading_small_02.png"; - image.tween: "style/tw_loading_small_03.png"; - image.tween: "style/tw_loading_small_04.png"; - image.tween: "style/tw_loading_small_05.png"; - image.tween: "style/tw_loading_small_06.png"; - image.tween: "style/tw_loading_small_07.png"; - image.tween: "style/tw_loading_small_08.png"; - image.tween: "style/tw_loading_small_09.png"; - image.tween: "style/tw_loading_small_10.png"; - image.tween: "style/tw_loading_small_11.png"; - image.tween: "style/tw_loading_small_12.png"; - image.tween: "style/tw_loading_small_13.png"; - image.tween: "style/tw_loading_small_14.png"; - image.tween: "style/tw_loading_small_15.png"; - image.tween: "style/tw_loading_small_16.png"; - image.tween: "style/tw_loading_small_17.png"; - image.tween: "style/tw_loading_small_18.png"; - image.tween: "style/tw_loading_small_19.png"; - image.tween: "style/tw_loading_small_20.png"; - image.tween: "style/tw_loading_small_21.png"; - image.tween: "style/tw_loading_small_22.png"; - image.tween: "style/tw_loading_small_23.png"; - image.tween: "style/tw_loading_small_24.png"; - image.tween: "style/tw_loading_small_25.png"; - image.tween: "style/tw_loading_small_26.png"; - image.tween: "style/tw_loading_small_27.png"; - image.tween: "style/tw_loading_small_28.png"; - image.tween: "style/tw_loading_small_29.png"; - image.tween: "style/tw_loading_small_30.png"; - image.tween: "style/tw_loading_small_31.png"; - image.tween: "style/tw_loading_small_32.png"; - image.tween: "style/tw_loading_small_33.png"; - image.tween: "style/tw_loading_small_34.png"; - image.tween: "style/tw_loading_small_35.png"; - image.tween: "style/tw_loading_small_36.png"; - image.tween: "style/tw_loading_small_37.png"; - image.tween: "style/tw_loading_small_38.png"; - image.tween: "style/tw_loading_small_39.png"; - image.tween: "style/tw_loading_small_40.png"; - image.tween: "style/tw_loading_small_41.png"; - image.tween: "style/tw_loading_small_42.png"; - image.tween: "style/tw_loading_small_43.png"; - image.tween: "style/tw_loading_small_44.png"; - image.tween: "style/tw_loading_small_45.png"; - image.tween: "style/tw_loading_small_46.png"; - image.tween: "style/tw_loading_small_47.png"; - image.tween: "style/tw_loading_small_48.png"; - image.tween: "style/tw_loading_small_48.png"; - image.tween: "style/tw_loading_small_49.png"; - image.tween: "style/tw_loading_small_50.png"; - image.tween: "style/tw_loading_small_51.png"; - image.tween: "style/tw_loading_small_52.png"; - image.tween: "style/tw_loading_small_53.png"; - image.tween: "style/tw_loading_small_54.png"; - image.tween: "style/tw_loading_small_55.png"; - image.tween: "style/tw_loading_small_56.png"; - image.tween: "style/tw_loading_small_57.png"; - image.tween: "style/tw_loading_small_58.png"; - image.tween: "style/tw_loading_small_59.png"; - image.tween: "style/tw_loading_small_60.png"; - image.tween: "style/tw_loading_small_61.png"; - image.tween: "style/tw_loading_small_62.png"; - image.tween: "style/tw_loading_small_63.png"; - image.tween: "style/tw_loading_small_64.png"; - color: 128 128 128 128; - } - } - } - programs { - program { - name: "start_pulse"; - signal: "elm,state,pulse,start"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "bar"; - transition: LINEAR 1.8; - after: "start_pulse"; - } - program { - name: "stop_pulse"; - signal: "elm,state,pulse,stop"; - source: "elm"; - action: ACTION_STOP; - target: "start_pulse"; - after: "init_pulse"; - } - program { name: "init_pulse"; - action: STATE_SET "default" 0.0; - target: "bar"; - } - } - } - - #define BUTTON_PADDING_SIZE_INC 20 0 #define BUTTON_HEIGHT_INC 122 #define BUTTON_ICON_SIZE_INC 60 60 @@ -1591,7 +1647,8 @@ collections get_state(PART:"bg", st, 30, vl); if (strcmp(st, "disabled")) { set_state(PART:"bg", "pressed", 0.0); - set_state(PART:"elm.text", "pressed", 0.0); + //set_state(PART:"bg_image", "pressed", 0.0); + set_state(PART:"elm.swallow.content.clip", "pressed", 0.0); emit("elm,action,press", ""); } } @@ -1613,7 +1670,8 @@ collections get_state(PART:"bg", st, 30, vl); if (strcmp(st, "disabled")) { set_state(PART:"bg", "default", 0.0); - set_state(PART:"elm.text", "default", 0.0); + //set_state(PART:"bg_image", "default", 0.0); + set_state(PART:"elm.swallow.content.clip", "default", 0.0); emit("elm,action,unpress", ""); } } @@ -1681,7 +1739,7 @@ collections program { name: "icon_hide"; signal: "elm,state,icon,hidden"; source: "elm"; - action: STATE_SET "default" 0.0; + action: STATE_SET "visible" 0.0; target: "elm.swallow.content"; target: "icon_rect"; } @@ -1944,45 +2002,6 @@ collections } } - group { name: "elm/button/base/ime_button_stt_confirm"; - inherit: "elm/button/base/ime_button"; - parts { - part { name: "bg"; - type: IMAGE; - scale: 1; - description { state: "default" 0.0; - min: 0 0; - color_class: "AO015L2"; - visible: 0; - image.normal: "./b_stt_icon_btn.png"; - } - description { state: "pressed" 0.0; - inherit: "default" 0.0; - color_class: "AO015L2P"; - } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - color_class: "AO015L2D"; - } - } - part { name: "elm.swallow.content.clip"; - type: RECT; - scale: 1; - description { state: "default" 0.0; - color_class: "AO015L2"; - } - description { state: "pressed" 0.0; - inherit: "default" 0.0; - color_class: "AO015L2P"; - } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - color_class: "AO015L2D"; - } - } - } - } - group { name: "elm/button/base/touch_area"; inherit: "elm/button/base/default"; parts { @@ -2080,7 +2099,7 @@ collections to: "padding_right_bottom"; } text { - min: 1 0; + max: 1 0; style: "button_general_text_normal"; } } @@ -2523,14 +2542,42 @@ group { name: "elm_naviframe_item_basic_customized"; rel2 {relative: 1.0 1.0; to: "title_bg"; } } } + part { name: "left_padding_content"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: 33 0; + max: 33 -1; + fixed: 1 0; + align: 0.0 0.5; + rel1 { relative: 0.0 0.0; to: "base"; } + rel2 { relative: 0.0 1.0; to: "base"; } + visible: 0; + color: 255 0 0 100; + } + } + part { name: "right_padding_content"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + min: 33 0; + max: 33 -1; + fixed: 1 0; + align: 1.0 0.5; + rel1 { relative: 1.0 0.0; to: "base"; } + rel2 { relative: 1.0 1.0; to: "base"; } + visible: 0; + color: 0 255 0 100; + } + } part { name: "elm.swallow.content"; type: SWALLOW; scale: 1; repeat_events: 0; clip_to: "clipper"; description { state: "default" 0.0; - rel1 { relative: 0.0 1.0; to_x: "base"; to_y: "title_expand"; } - rel2 { relative: 1.0 0.0; to_x: "base"; to_y: "button_padding"; } + rel1 { relative: 1.0 1.0; to_x: "left_padding_content"; to_y: "title_expand"; } + rel2 { relative: 0.0 0.0; to_x: "right_padding_content"; to_y: "button_padding"; } } } part { name: "elm.swallow.circle_bg"; @@ -2741,7 +2788,7 @@ images { image, "./b_ic_press_full_circle_bg.png" COMP; } -group { name: "elm/panel/right1/default"; +group { name: "elm/panel/right/default"; script { public mouse_down = 0; public mouse_click = 0; @@ -3244,8 +3291,8 @@ group { name: "elm/panel/right1/default"; } } -group { name: "elm/panel/left1/default"; - inherit: "elm/panel/right1/default"; +group { name: "elm/panel/left/default"; + inherit: "elm/panel/right/default"; parts { part { name: "cue.padding"; type: SPACER; @@ -3460,8 +3507,8 @@ group { name: "elm/panel/left1/default"; } } -group { name: "elm/panel/left_sending/default"; - inherit: "elm/panel/left1/default"; +group { name: "elm/panel/left/sending"; + inherit: "elm/panel/left/default"; parts { part { name: "cue.padding"; type: SPACER; @@ -3517,8 +3564,8 @@ group { name: "elm/panel/left_sending/default"; } } -group { name: "elm/panel/left_confirm/default"; - inherit: "elm/panel/left_sending/default"; +group { name: "elm/panel/left/confirm"; + inherit: "elm/panel/left/sending"; parts { part { name: "cue"; description { state: "default" 0.0; diff --git a/src/MoreOption.cpp b/src/MoreOption.cpp index 7550d75..39bc951 100755 --- a/src/MoreOption.cpp +++ b/src/MoreOption.cpp @@ -32,21 +32,145 @@ using namespace std; extern Evas_Object *g_setting_window; +static bool voice_input_back_agree = false; + +static void +popup_hide_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (!obj) return; + elm_popup_dismiss(obj); +} + +static void +popup_hide_finished_cb(void *data, Evas_Object *obj, void *event_info) +{ + if (!obj) return; + evas_object_del(obj); +} + +static void voice_input_back_disagree_cb(void *data, Evas_Object *obj, void *event_info) +{ + if(!obj) return; + if(!data) return; + + VoiceData *voicedata = (VoiceData *)data; + Evas_Object *popup = (Evas_Object *)evas_object_data_get(obj, "popup"); + + voicedata->mo->discard_popup_opened = EINA_FALSE; + + if (popup) + elm_popup_dismiss(popup); +} + +static void voice_input_back_agree_cb(void *data, Evas_Object *obj, void *event_info) +{ + if(!obj) return; + if(!data) return; + + VoiceData *voicedata = (VoiceData *)data; + Evas_Object *popup = (Evas_Object *)evas_object_data_get(obj, "popup"); + + voicedata->mo->discard_popup_opened = EINA_FALSE; + + if (popup) + elm_popup_dismiss(popup); + + if(voicedata->naviframe){ + voice_input_back_agree = true; + + if(voicedata->disclaimer == 1){ + voicedata->disclaimer = 0; + elm_naviframe_item_pop_to(elm_naviframe_bottom_item_get(voicedata->naviframe)); + } else { + elm_naviframe_item_pop(voicedata->naviframe); + } + } +} + +static void show_discard_popup(void *data) +{ + if(!data) return; + + VoiceData *voicedata = (VoiceData *)data; + + Evas_Object *popup = NULL; + Evas_Object *layout = NULL; + Evas_Object *btn_popup = NULL; + Evas_Object *icon = NULL; + + std::string path = get_resource_path(); + + popup = elm_popup_add(voicedata->naviframe); + elm_object_style_set(popup, "circle"); +// uxt_popup_set_rotary_event_enabled(popup, EINA_TRUE); + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, popup_hide_cb, NULL); + evas_object_smart_callback_add(popup, "dismissed", popup_hide_finished_cb, NULL); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + layout = elm_layout_add(popup); + elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2"); + elm_object_domain_translatable_part_text_set(layout, "elm.text", PACKAGE, "IDS_ST_SK_OK"); + elm_object_content_set(popup, layout); + evas_object_show(layout); + + btn_popup = elm_button_add(popup); + elm_object_style_set(btn_popup, "popup/circle/left"); + elm_object_part_content_set(popup, "button1", btn_popup); + elm_access_info_set(btn_popup, ELM_ACCESS_INFO, dgettext(PACKAGE, "IDS_ST_SK_OK")); + evas_object_smart_callback_add(btn_popup, "clicked", voice_input_back_disagree_cb, voicedata); + evas_object_data_set(btn_popup, "popup", popup); + evas_object_show(btn_popup); + + std::string path_ic_left = path + "/images/tw_ic_popup_btn_delete.png"; + icon = elm_image_add(btn_popup); + elm_image_file_set(icon, path_ic_left.c_str(), NULL); + evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_content_set(btn_popup, "elm.swallow.content", icon); + evas_object_show(icon); + + btn_popup = elm_button_add(popup); + elm_object_style_set(btn_popup, "popup/circle/right"); + elm_access_info_set(btn_popup, ELM_ACCESS_INFO, dgettext(PACKAGE, "IDS_ST_SK_OK")); + elm_object_part_content_set(popup, "button2", btn_popup); + evas_object_smart_callback_add(btn_popup, "clicked", voice_input_back_agree_cb, voicedata); + evas_object_data_set(btn_popup, "popup", popup); + evas_object_show(btn_popup); + + std::string path_ic_right = path + "/images/tw_ic_popup_btn_check.png"; + icon = elm_image_add(btn_popup); + elm_image_file_set(icon, path_ic_right.c_str(), NULL); + evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_content_set(btn_popup, "elm.swallow.content", icon); + evas_object_show(icon); + + evas_object_show(popup); + + voicedata->mo->discard_popup_opened = EINA_TRUE; +} MoreOption::MoreOption(Evas_Object *naviframe, void* voicedata) : nf(naviframe) , more_option_layout(NULL) , item(NULL) , option_opened(EINA_FALSE) + , discard_popup_opened(EINA_FALSE) , voicedata(voicedata) { /** todo. implement constructor */ + voice_input_back_agree = false; } MoreOption::~MoreOption() { /** todo. implement destructor */ -// if(more_option_layout) -// evas_object_del(more_option_layout); + if(more_option_layout) + { + PRINTFUNC(DLOG_DEBUG, "del callbacks"); + evas_object_smart_callback_del(more_option_layout, "item,clicked", moreItemClicked); + evas_object_smart_callback_del(more_option_layout, "item,selected", moreItemSelected); + + evas_object_smart_callback_del(more_option_layout, "more,option,opened", moreOptionOpened); + evas_object_smart_callback_del(more_option_layout, "more,option,closed", moreOptionClosed); + } } void MoreOption::Create() { @@ -68,45 +192,15 @@ void MoreOption::AddLayout() { /** add layout */ more_option_layout = eext_more_option_add(nf); - if(!more_option_layout) + if(!more_option_layout){ PRINTFUNC(DLOG_ERROR, "It's failed to create layout"); + return; + } - evas_object_smart_callback_add(more_option_layout, "more,option,opened", - [](void *data, Evas_Object *obj, void *event_info){ - PRINTFUNC(DLOG_DEBUG, "more option is opened!!! \n"); - - if(!data) return; - - /** - * if more option is completed, stt have to be stopped. - * - */ - MoreOption *opt = (MoreOption *)data; - VoiceData *vd = (VoiceData *) opt->voicedata; - try { - if (vd->sttmanager->GetCurrent() == STT_STATE_RECORDING || - vd->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { - vd->sttmanager->Cancel(); - } - } - catch(is::stt::SttException &e) { - PRINTFUNC(DLOG_ERROR, "%s", e.what()); - } - - opt->option_opened = EINA_TRUE; - }, this); - - evas_object_smart_callback_add(more_option_layout, "more,option,closed", - [](void *data, Evas_Object *obj, void *event_info){ - PRINTFUNC(DLOG_DEBUG, "more option is closed!!! \n"); - - MoreOption *opt = (MoreOption *)data; - VoiceData *vd = (VoiceData *) opt->voicedata; - - activate_circle_scroller_for_stt_textbox(vd, EINA_TRUE); + evas_object_smart_callback_add(more_option_layout, "more,option,opened", moreOptionOpened, this); + evas_object_smart_callback_add(more_option_layout, "more,option,closed", moreOptionClosed, this); - opt->option_opened = EINA_FALSE; - }, this); + hideCue(); evas_object_show(more_option_layout); } @@ -142,17 +236,8 @@ void MoreOption::SetContentLayout(Evas_Object *content) { vd->sttmanager->GetCurrent() == STT_STATE_READY) { PRINTFUNC(DLOG_DEBUG, "STT_STATE_CREATED || STT_STATE_READY\n"); - } else if (vd->sttmanager->GetCurrent() == STT_STATE_RECORDING) { - PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING\n"); - vd->effector->Stop(); - try{ - vd->sttmanager->Stop(); - }catch(is::stt::SttException &e){ - PRINTFUNC(DLOG_ERROR, "reason : %s", e.what()); - } - - } else if (vd->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { - PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING\n"); + } else if (vd->sttmanager->GetCurrent() == STT_STATE_RECORDING || vd->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { + PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING or STT_STATE_PROCESSING\n"); try{ vd->sttmanager->Cancel(); }catch(is::stt::SttException &e){ @@ -162,6 +247,10 @@ void MoreOption::SetContentLayout(Evas_Object *content) { } } + if (voice_input_back_agree == false && !is_textblock_empty(vd)){ + show_discard_popup(vd); + return EINA_FALSE; + } elm_naviframe_item_pop_to(elm_naviframe_bottom_item_get(vd->naviframe)); vd->disclaimer = 0; @@ -169,44 +258,37 @@ void MoreOption::SetContentLayout(Evas_Object *content) { powerUnlock(); _back_to_genlist_for_selector(); + destroy_voice(); + return EINA_TRUE; } - if(opt->option_opened == EINA_FALSE){ + if (opt->option_opened == EINA_FALSE){ PRINTFUNC(DLOG_DEBUG, "pop_cb called in STT view\n"); - if(vd->sttmanager){ + if (vd->sttmanager){ if (vd->sttmanager->GetCurrent() == STT_STATE_CREATED || vd->sttmanager->GetCurrent() == STT_STATE_READY) { PRINTFUNC(DLOG_DEBUG, "STT_STATE_CREATED || STT_STATE_READY\n"); - } else if (vd->sttmanager->GetCurrent() == STT_STATE_RECORDING) { - PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING\n"); - vd->effector->Stop(); - try{ - vd->sttmanager->Stop(); - }catch(is::stt::SttException &e){ - PRINTFUNC(DLOG_ERROR, "reason : %s", e.what()); - } - - } else if (vd->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { - PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING\n"); + } else if (vd->sttmanager->GetCurrent() == STT_STATE_RECORDING || vd->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { + PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING or STT_STATE_PROCESSING\n"); try{ vd->sttmanager->Cancel(); }catch(is::stt::SttException &e){ PRINTFUNC(DLOG_ERROR, "reason : %s", e.what()); } } + } - _back_to_genlist_for_selector(); - - destroy_voice(); - - return EINA_TRUE; - } else { - PRINTFUNC(DLOG_DEBUG, "naviframe transition, not finished\n"); + if (voice_input_back_agree == false && !is_textblock_empty(vd)){ + show_discard_popup(vd); return EINA_FALSE; } + + _back_to_genlist_for_selector(); + destroy_voice(); + return EINA_TRUE; } return EINA_FALSE; }, this); @@ -219,6 +301,8 @@ void MoreOption::Update() const char* display_lang = get_lang_label(lang); eext_more_option_item_part_text_set(item, "selector,sub_text", display_lang); + + showCue(); } Evas_Object* MoreOption::AddLanguageIcon(Evas_Object *parent) { @@ -257,18 +341,139 @@ void MoreOption::AddMorePage() { eext_more_option_item_part_content_set(item, "item,icon", img); - evas_object_smart_callback_add(more_option_layout, "item,clicked", - [](void *data, Evas_Object *obj, void *event_info) - { - PRINTFUNC(DLOG_DEBUG, "item,clicked"); - if(g_setting_window == NULL) - create_setting_window(obj); - }, NULL); + evas_object_smart_callback_add(more_option_layout, "item,clicked", moreItemClicked, NULL); + evas_object_smart_callback_add(more_option_layout, "item,selected", moreItemSelected , NULL); +} + +void MoreOption::moreOptionOpened(void *data, Evas_Object * obj, void *event_info) +{ + PRINTFUNC(DLOG_DEBUG, "more option is opened!!! \n"); + + if(!data) return; + + /** + * if more option is completed, stt have to be stopped. + * + */ + MoreOption *opt = (MoreOption *)data; + VoiceData *vd = (VoiceData *) opt->voicedata; + + if(vd && vd->setup_timer){ + ecore_timer_del(vd->setup_timer); + vd->setup_timer = NULL; + } - evas_object_smart_callback_add(more_option_layout, "item,selected", - [](void *data, Evas_Object *obj, void *event_info) + try { + if (vd && vd->sttmanager && (vd->sttmanager->GetCurrent() == STT_STATE_RECORDING || + vd->sttmanager->GetCurrent() == STT_STATE_PROCESSING)) { + vd->sttmanager->Cancel(); + } + } + catch(is::stt::SttException &e) { + PRINTFUNC(DLOG_ERROR, "%s", e.what()); + } + + // Clear guide text + if(vd && vd->layout_main){ + elm_object_signal_emit((Evas_Object *)vd->layout_main, "idle,state,text,hidden", "elm"); + } + + opt->option_opened = EINA_TRUE; +} + +void MoreOption::moreOptionClosed(void *data, Evas_Object * obj, void *event_info) +{ + PRINTFUNC(DLOG_DEBUG, "more option is closed!!! \n"); + + if (!data) return; + + MoreOption *opt = (MoreOption *)data; + VoiceData *vd = (VoiceData *) opt->voicedata; + + if (opt->option_opened == EINA_TRUE && is_textblock_empty(vd)) { + restart_listening(2.0); + } + + if (vd) + activate_circle_scroller_for_stt_textbox(vd, EINA_TRUE); + + opt->option_opened = EINA_FALSE; +} + +void MoreOption::moreItemClicked(void *data, Evas_Object * obj, void *event_info) +{ + PRINTFUNC(DLOG_DEBUG, "item,clicked"); + if(g_setting_window == NULL) + create_setting_window(obj); +} + +void MoreOption::moreItemSelected(void *data, Evas_Object * obj, void *event_info) +{ + PRINTFUNC(DLOG_DEBUG, "item,selected"); + if(!obj) return; + + Eext_Object_Item *selected_item = (Eext_Object_Item *)event_info; + + //for custom accessibility + if (elm_config_access_get()) { - PRINTFUNC(DLOG_DEBUG, "item,selected"); - }, NULL); + Evas_Object *panel = elm_object_part_content_get(obj, "elm.swallow.right"); + if (!panel) return; + + Evas_Object *rotary_selector = elm_object_content_get(panel); + if (!rotary_selector) return; + + Evas_Object *content = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(rotary_selector), "content"); + if (!content) return; + + Evas_Object *content_access = elm_access_object_get(content); + if (!content_access) return; + + if (eext_more_option_item_part_text_get(selected_item, "selector,main_text")) + { + std::string text; + text = text + std::string(gettext("WDS_IME_HEADER_INPUT_LANGUAGES_ABB")) + " "; + + if(eext_more_option_item_part_text_get(selected_item, "selector,sub_text")) + text = text + std::string(eext_more_option_item_part_text_get(selected_item, "selector,sub_text")); + + elm_access_info_set(content_access, ELM_ACCESS_INFO, text.c_str()); + } + } +} + +void MoreOption::hideCue() +{ + Evas_Object *panel_right = NULL; + if (!more_option_layout) { + PRINTFUNC(DLOG_ERROR, "more_option_layout == NULL"); + return; + } + + panel_right = elm_object_part_content_get(more_option_layout, "elm.swallow.right"); + if (!panel_right) { + PRINTFUNC(DLOG_ERROR, "panel_right == NULL"); + return; + } + + elm_object_signal_emit(panel_right, "cue,hide", "elm"); +} + +void MoreOption::showCue() +{ + Evas_Object *panel_right = NULL; + + if (!more_option_layout) { + PRINTFUNC(DLOG_ERROR, "more_option_layout == NULL"); + return; + } + + panel_right = elm_object_part_content_get(more_option_layout, "elm.swallow.right"); + if (!panel_right) { + PRINTFUNC(DLOG_ERROR, "panel_right == NULL"); + return; + } + + elm_object_signal_emit(panel_right, "cue,show", "elm"); } diff --git a/src/SttFeedback.cpp b/src/SttFeedback.cpp index a3b5f2a..ec7d91f 100755 --- a/src/SttFeedback.cpp +++ b/src/SttFeedback.cpp @@ -73,6 +73,11 @@ void SttFeedback::OnResult( vd.result_type = STT_RESULT_EVENT_PARTIAL_RESULT; voice_get_string(result.c_str(), &vd); break; + case STT_RESULT_EVENT_ERROR: + PRINTFUNC(DLOG_DEBUG, "STT_RESULT_EVENT_ERROR"); + vd.state = STT_STATE_VAL_NOT_RECOGNISED; + set_animation_state(&vd); + break; default: PRINTFUNC(DLOG_INFO, ""); break; diff --git a/src/w-input-emoticon.cpp b/src/w-input-emoticon.cpp index d94c553..2a19150 100755 --- a/src/w-input-emoticon.cpp +++ b/src/w-input-emoticon.cpp @@ -280,7 +280,7 @@ static Eina_Bool _custom_back_cb2(void *data, Elm_Object_Item *it) lazy_loading_timer_for_contents = NULL; } - if(emoticon_drawing_pool.used == 0){ + if (emoticon_drawing_pool.used == 0){ evas_object_del(emoticon_drawing_pool.content); } emoticon_drawing_pool.content = NULL; @@ -368,7 +368,6 @@ void set_recent_emoticons(vector &emoticon_list, int val) if (PREFERENCE_ERROR_NONE != ret) { PRINTFUNC(DLOG_ERROR, "preference_set_string error!(%d)", ret); } - } static void _drawing_app_control_reply_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data) @@ -376,7 +375,7 @@ static void _drawing_app_control_reply_cb(app_control_h request, app_control_h r char* path = NULL; app_control_get_extra_data(reply, APP_CONTROL_DATA_PATH, &path); - if(path){ + if (path){ PRINTFUNC(DLOG_DEBUG, "path=%s", path); char *pathes[] = {path, }; reply_to_sender_by_callback(NULL, "image", (const char **)pathes, NULL); @@ -566,7 +565,7 @@ static Evas_Object * __emoticon_gl_1_content_get(void *data, Evas_Object *obj, c emoticon_drawing_pool.content = btn; emoticon_drawing_pool.used = 0; return btn; - } else if(!strcmp(part, "base")){ + } else if (!strcmp(part, "base")){ Evas_Object* btn = elm_button_add(obj); elm_object_style_set(btn, "ime/transparent"); return btn; diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 57320ec..0bfbeff 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -1130,14 +1130,14 @@ void _app_service(app_control_h service, void* user_data) if (mime_type) free(mime_type); goto ACTIVATE; - } else if(!strncmp(mime_type, "audio/", strlen("audio/"))) { + } else if (!strncmp(mime_type, "audio/", strlen("audio/"))) { app_data->mime_type = MIME_TYPE_AUDIO; app_data->app_type = APP_TYPE_STT; _stt_clicked_cb((void *)app_data, NULL, NULL); if (mime_type) free(mime_type); goto ACTIVATE; - } else if(!strncmp(mime_type, "text/", strlen("text/"))) { + } else if (!strncmp(mime_type, "text/", strlen("text/"))) { app_data->mime_type = MIME_TYPE_TEXT; } } @@ -1212,6 +1212,7 @@ void _app_pause(void* user_data) void _app_resume(void* user_data) { PRINTFUNC(DLOG_DEBUG, ""); + resume_voice(); } void _app_terminate(void* user_data) diff --git a/src/w-input-stt-ise.cpp b/src/w-input-stt-ise.cpp index db786c4..0d14c94 100755 --- a/src/w-input-stt-ise.cpp +++ b/src/w-input-stt-ise.cpp @@ -68,7 +68,7 @@ void show_voice_input(Evas_Object *parent, const char *lang, void (*get_string)( vconf_notify_key_changed(VCONFKEY_ISE_STT_LANGUAGE, _stt_lang_changed_cb, my_voicedata); } -void pause_voice(){ +void pause_voice(){ PRINTFUNC(DLOG_DEBUG, "pause_voice"); powerUnlock(); @@ -77,8 +77,15 @@ void pause_voice(){ } } - void destroy_voice() - { +void resume_voice(){ + if (my_voicedata) { + PRINTFUNC(DLOG_DEBUG, "resume_voice"); + on_stt_resume(my_voicedata); + } +} + +void destroy_voice() +{ PRINTFUNC(DLOG_DEBUG, "destroy voice"); //stt_feedback_deinitialize(); // It disable w-input-selector touch sound. So removed. diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index 1795cc8..6f137e5 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -48,6 +48,10 @@ using namespace std; "DEFAULT='font=Tizen:style=Regular font_size=32 color=#FFFFFF color_class=AT013 text_class=tizen wrap=mixed align=center' \ newline='br' b='+ font=Tizen:style=Bold'link='+ underline=on underline_color=#FFFFFF'" +#define TOP_PADDING_AREA 120 +#define BOTTOM_PADDING_AREA 81 // Bottom Button H 78 + margin 3 + + extern App_Data* app_data; extern VoiceData *my_voicedata; @@ -66,28 +70,31 @@ static Elm_Genlist_Item_Class itc_title; static Elm_Genlist_Item_Class itc_1text; static Elm_Genlist_Item_Class itc_2text; -static Eina_Bool change_guide_text(void *data); +static bool sroll_bar_show = false; + +static bool g_send_button_clicked = false; + + static void set_guide_text(VoiceData *vd, const char* text, bool translatable = false); const char *supported_language[] = { - "auto", - "en_US", - "es_US", - "fr_FR", - "zh_CN", - "ja_JP", - "ko_KR", + "auto", + "en_US", + "es_US", + "fr_FR", + "zh_CN", + "ja_JP", + "ko_KR", }; - const char *disp_lang_array[] = { - "", - "English (United States)", - "Español (América Latina)", - "Français (France)", - "简体中文", - "日本語", - "한국어", + "", + "English (United States)", + "Español (América Latina)", + "Français (France)", + "简体中文", + "日本語", + "한국어", }; typedef enum { @@ -141,25 +148,24 @@ const char* get_lang_label(char lang[]) } -static Eina_Bool -_bring_in_cb(void *data) +static void _bring_in_cb(void* data, Evas_Object* obj, const char* s, const char* e) { - if(!data) - return ECORE_CALLBACK_CANCEL; + if (!data) return; + + VoiceData *voicedata = (VoiceData *)data; Evas_Coord x, y, w, h; - Evas_Object *scroller = (Evas_Object *)data; + Evas_Object *scroller = (Evas_Object *)voicedata->scroller; Evas_Object *inner_layout = NULL; inner_layout = (Evas_Object *) evas_object_data_get(scroller, "inner_layout"); - evas_object_geometry_get(inner_layout, &x, &y, &w, &h); - elm_scroller_region_bring_in(scroller, x, h, w, h); + elm_scroller_region_bring_in(scroller, x, h + BOTTOM_PADDING_AREA, w, h); // in case of 3 line textblock, bring in is not working so, bottom padding size will be added PRINTFUNC(NO_PRINT, "scroller %d %d %d %d", x, y, w, h); - return ECORE_CALLBACK_CANCEL; + return; } static inline Evas_Coord get_text_block_size(Evas_Object *obj, std::string text) @@ -200,7 +206,7 @@ static inline Evas_Coord get_text_block_size(Evas_Object *obj, std::string text) static Eina_Bool _update_textblock_timer_cb(void *data) { - if(!data) + if (!data) return ECORE_CALLBACK_CANCEL; VoiceData* voicedata = (VoiceData*)data; @@ -224,33 +230,38 @@ static Eina_Bool _update_textblock_timer_cb(void *data) Evas_Object *inner_layout = NULL; scroller = elm_layout_content_get((Evas_Object *)voicedata->layout_main, "text_area"); - if(!scroller) + if (!scroller) { PRINTFUNC(DLOG_ERROR, "failed to get scroller"); return ECORE_CALLBACK_CANCEL; } box = elm_object_content_get(scroller); - if(!box) + if (!box) { PRINTFUNC(DLOG_ERROR, "failed to get box"); return ECORE_CALLBACK_CANCEL; } inner_layout = (Evas_Object *) evas_object_data_get(scroller, "inner_layout"); - if(!inner_layout) + if (!inner_layout) { PRINTFUNC(DLOG_ERROR, "failed to get inner_layout"); return ECORE_CALLBACK_CANCEL; } entry = elm_layout_content_get(inner_layout, "elm.swallow.content"); - if(!entry) + if (!entry) { PRINTFUNC(DLOG_ERROR, "failed to get entry"); return ECORE_CALLBACK_CANCEL; } + if (!strcmp(result_text.c_str(), elm_entry_entry_get(entry))){ + PRINTFUNC(DLOG_ERROR, "Nothing to update"); + return ECORE_CALLBACK_CANCEL; + } + Evas_Object *top = (Evas_Object *) evas_object_data_get(box, "top_padding"); Evas_Object *bottom = (Evas_Object *) evas_object_data_get(box, "bottom_padding"); @@ -269,12 +280,12 @@ static Eina_Bool _update_textblock_timer_cb(void *data) // if(height < 173) { { - int text_area_height = 360-102; // screen H - bottom button H - int top_height = ((text_area_height - height) / 2); - if(top_height < 120) top_height = 120; // Top fade area H + int text_area_height = 360; // screen H + int top_height = ((text_area_height - height - BOTTOM_PADDING_AREA) / 2); // 78 + 3 : bottom button H ++ margin + if (top_height < TOP_PADDING_AREA) top_height = TOP_PADDING_AREA; // Top fade area H int bottom_height = (text_area_height - top_height - height); - if(bottom_height < 1) bottom_height = 0; + if (bottom_height < BOTTOM_PADDING_AREA) bottom_height = BOTTOM_PADDING_AREA; PRINTFUNC(SECURE_DEBUG, "str : %s", result_text.c_str()); PRINTFUNC(DLOG_DEBUG, "height : %d", height); @@ -306,29 +317,36 @@ static Eina_Bool _update_textblock_timer_cb(void *data) Evas_Object *panel_left = elm_layout_content_get((Evas_Object *)panel_layout, "elm.swallow.right"); if (result_text.size() > 0) { + show_bottom_button(voicedata, false); elm_object_signal_emit(panel_left, "elm,state,enabled", "elm"); } else { elm_object_signal_emit(panel_left, "elm,state,disabled", "elm"); } - elm_object_signal_emit((Evas_Object *)voicedata->layout_main, "idle,state,guide_text,bottom", "elm"); + elm_object_signal_emit(inner_layout, "scrolling", "entry"); - if(voicedata->state == STT_STATE_VAL_LISTENING){ - if(voicedata->guide_text_timer != NULL){ - ecore_timer_del(voicedata->guide_text_timer); - voicedata->guide_text_timer = NULL; + Evas_Coord x, y, w, h; + evas_object_geometry_get(inner_layout , &x, &y, &w, &h); + PRINTFUNC(DLOG_DEBUG, "inner_layout x=%d, y=%d, w=%d, h=%d", x, y, w, h); + + if (h > 3900){ // to avoid Textblock size overflow (limit : 4000x4000) + PRINTFUNC(DLOG_ERROR, "Stop STT to avoid text block overflow"); + if(voicedata->sttmanager->GetCurrent() == STT_STATE_RECORDING || voicedata->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { + PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING or STT_STATE_PROCESSING\n"); + try{ + voicedata->sttmanager->Cancel(); + }catch(is::stt::SttException &e){ + PRINTFUNC(DLOG_ERROR, "reason : %s", e.what()); + } } - set_guide_text(voicedata, SK_TAP_TO_PAUSE, true); } - elm_object_signal_emit(inner_layout, "scrolling", "entry"); - return ECORE_CALLBACK_CANCEL; } void _update_textblock(void *data) { - if(!data) + if (!data) return; VoiceData *voicedata = (VoiceData *) data; @@ -344,7 +362,7 @@ void _update_textblock(void *data) void voice_get_string(const char *keyValue, _VoiceData *voicedata) { - if(!voicedata) + if (!voicedata) return; char* strbuf = NULL; @@ -404,71 +422,45 @@ static void on_mic_button_press_cb(void *data, Evas_Object *obj, void *event_inf VoiceData *voicedata = (VoiceData *)data; if (!voicedata) return; - if (voicedata->sttmanager != NULL && - (voicedata->sttmanager->GetCurrent() == STT_STATE_RECORDING - || voicedata->sttmanager->GetCurrent() == STT_STATE_PROCESSING)) { - try { - voicedata->state = STT_STATE_VAL_INIT; - voicedata->sttmanager->Stop(); - } - catch (is::stt::SttException &e) { - } - - if (voicedata->effector) - voicedata->effector->Stop(true); + edje_object_signal_emit(_EDJ(voicedata->layout_main), "mouse,clicked,1", "background"); - if (NULL != voicedata->start_timer) { - ecore_timer_del(voicedata->start_timer); - voicedata->start_timer = NULL; - } - if (NULL != voicedata->guide_text_timer) { - ecore_timer_del(voicedata->guide_text_timer); - voicedata->guide_text_timer = NULL; - } - if (NULL != voicedata->refresh_timer) { - ecore_timer_del(voicedata->refresh_timer); - voicedata->refresh_timer = NULL; - } - } else { - if (NULL != voicedata->guide_text_timer) { - ecore_timer_del(voicedata->guide_text_timer); - voicedata->guide_text_timer = NULL; - } - edje_object_signal_emit(_EDJ(voicedata->layout_main), "mouse,clicked,1", "background"); - } + return; } - -static Eina_Bool _mic_button_enable_cb(void *data) +static void on_confirm_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) { - PRINTFUNC(DLOG_DEBUG, ""); - - if(!data) - return ECORE_CALLBACK_CANCEL; + if (!data) + return; VoiceData* voicedata = (VoiceData*)data; - voicedata->btn_disabling_timer = NULL; - - Evas_Object *button = (Evas_Object *)voicedata->mic_button; - - elm_object_disabled_set(button, EINA_FALSE); - - return ECORE_CALLBACK_CANCEL; -} - + if (g_send_button_clicked == true){ + PRINTFUNC(DLOG_ERROR, "skipped seding STT result"); + return; + } -static void on_confirm_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) -{ - if(!data) + if (is_textblock_empty(voicedata) == true){ return; + } - VoiceData* voicedata = (VoiceData*)data; + if (voicedata->sttmanager){ + if (voicedata->sttmanager->GetCurrent() == STT_STATE_RECORDING || + voicedata->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { + PRINTFUNC(DLOG_DEBUG, "STT_STATE_RECORDING or STT_STATE_PROCESSING\n"); + try{ + voicedata->sttmanager->Cancel(); + }catch(is::stt::SttException &e){ + PRINTFUNC(DLOG_ERROR, "reason : %s", e.what()); + } + } + } + + g_send_button_clicked = true; std::string result_text; for(unsigned int i = 0; i < voicedata->stt_results.size(); i++){ result_text += voicedata->stt_results.at(i); - if(i != voicedata->stt_results.size()-1) + if (i != voicedata->stt_results.size()-1) result_text += " "; } @@ -491,18 +483,15 @@ static void _panel_cue_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { PRINTFUNC(DLOG_DEBUG, "left cue clicked!!"); - on_confirm_button_clicked_cb(data, NULL, NULL); } - - void stt_feedback_initialize() { int ret = 0; ret = feedback_initialize(); - if(ret != 0) + if (ret != 0) { PRINTFUNC(DLOG_ERROR, "feedback_initialize failed!"); return; @@ -515,7 +504,7 @@ void stt_feedback(FeedbackType type) int ret; ret = feedback_initialize(); - if(ret != 0) + if (ret != 0) { PRINTFUNC(DLOG_ERROR, "feedback_initialize failed!"); return; @@ -528,7 +517,7 @@ void stt_feedback(FeedbackType type) } ret = feedback_deinitialize(); - if(ret != 0) + if (ret != 0) { PRINTFUNC(DLOG_ERROR, "feedback_initialize failed!"); return; @@ -540,7 +529,7 @@ void stt_feedback_deinitialize() int ret = 0; ret = feedback_deinitialize(); - if(ret != 0) + if (ret != 0) { PRINTFUNC(DLOG_ERROR, "feedback_initialize failed!"); return; @@ -550,14 +539,14 @@ void stt_feedback_deinitialize() static Eina_Bool _idler_cb(void *data) { - if(!data) return ECORE_CALLBACK_CANCEL; + if (!data) return ECORE_CALLBACK_CANCEL; VoiceData *voicedata = (VoiceData *)data; PRINTFUNC(DLOG_DEBUG, ""); - if(true == _app_stt_initialize(voicedata)) { + if (true == _app_stt_initialize(voicedata)) { LOGD("_app_stt_initialize None Error"); voicedata->voicefw_state = 1; voicedata->state = STT_STATE_VAL_INIT; @@ -582,12 +571,11 @@ static Eina_Bool _idler_cb(void *data) voicedata->mo->Update(); - elm_access_highlight_set(voicedata->mic_button); + voicedata->setup_timer = NULL; return ECORE_CALLBACK_CANCEL; } - static Eina_Bool _power_delayed_unlock(void *data){ PRINTFUNC(DLOG_DEBUG, "POWER Unlock"); @@ -610,28 +598,28 @@ void powerLock(void *data, bool enable) VoiceData *voicedata = (VoiceData *) data; - if(enable) { + if (enable) { ret = device_power_wakeup(false); PRINTFUNC(DLOG_DEBUG, "LCD Wakeup"); - if(ret != DEVICE_ERROR_NONE) + if (ret != DEVICE_ERROR_NONE) PRINTFUNC(DLOG_ERROR, "LCD Wakeup ERROR = %d", ret); ret = device_power_request_lock(POWER_LOCK_DISPLAY, 0); PRINTFUNC(DLOG_DEBUG, "POWER LOCK"); power_state = enable; - if(ret != DEVICE_ERROR_NONE) + if (ret != DEVICE_ERROR_NONE) PRINTFUNC(DLOG_ERROR, "ERROR = %d", ret); - if(voicedata->power_unlock_timer != NULL){ + if (voicedata->power_unlock_timer != NULL){ ecore_timer_del(voicedata->power_unlock_timer); voicedata->power_unlock_timer = NULL; } } else { PRINTFUNC(DLOG_DEBUG, "POWER Unlock Delayed(5 sec)"); - if(voicedata->power_unlock_timer != NULL){ + if (voicedata->power_unlock_timer != NULL){ ecore_timer_del(voicedata->power_unlock_timer); voicedata->power_unlock_timer = NULL; } @@ -639,31 +627,66 @@ void powerLock(void *data, bool enable) } } -static Eina_Bool change_guide_text(void *data){ - VoiceData *voicedata = (VoiceData *) data; - if (!voicedata) return ECORE_CALLBACK_CANCEL; +static void expand_send_text(void *data) +{ + PRINTFUNC(DLOG_DEBUG, ""); - stt_state_e state = voicedata->sttmanager->GetCurrent(); - if (state == STT_STATE_RECORDING || state == STT_STATE_PROCESSING) - elm_object_domain_translatable_part_text_set(voicedata->layout_main, "elm.text", PACKAGE, SK_TAP_TO_PAUSE); + if(data) { + VoiceData *voicedata = (VoiceData *) data; + elm_object_signal_emit((Evas_Object *)voicedata->layout_main, "idle,state,send,text,expand", "elm"); + } +} - return ECORE_CALLBACK_CANCEL; +static void contract_send_text(void *data) +{ + PRINTFUNC(DLOG_DEBUG, ""); + + if(data) { + VoiceData *voicedata = (VoiceData *) data; + elm_object_signal_emit((Evas_Object *)voicedata->layout_main, "idle,state,send,text,contract", "elm"); + } } +static void set_cue_text(void *data) +{ + PRINTFUNC(DLOG_DEBUG, ""); + + if(data) { + VoiceData *voicedata = (VoiceData *) data; + elm_object_domain_translatable_part_text_set(voicedata->layout_main, "elm.text.cue", PACKAGE, SK_SPEAK_NOW); + elm_object_signal_emit((Evas_Object *)voicedata->layout_main, "idle,state,cue_text,visible", "elm"); + } +} static void set_guide_text(VoiceData *vd, const char* text, bool translatable) { - elm_object_signal_emit(vd->layout_main, "idle,state,guide_text,bottom", "elm"); + PRINTFUNC(DLOG_DEBUG, "text = %s", text); + + if (!vd) return; - if(translatable) + if (vd->mo){ + PRINTFUNC(DLOG_DEBUG, "isMoreOptionOpend() = %d, discard_popup_opend == %d, g_send_button_clicked = %d", vd->mo->isMoreOptionOpened(), vd->mo->discard_popup_opened, g_send_button_clicked); + if (vd->mo->isMoreOptionOpened() == EINA_TRUE || vd->mo->discard_popup_opened == EINA_TRUE + || g_send_button_clicked == true){ + elm_object_signal_emit((Evas_Object *)vd->layout_main, "idle,state,text,hidden", "elm"); + PRINTFUNC(DLOG_DEBUG, "MoreOption or DiscardPopup is opened, So skipped"); + return; + } + } + + if (translatable) elm_object_domain_translatable_part_text_set(vd->layout_main, "elm.text", PACKAGE, text); else elm_object_part_text_set(vd->layout_main, "elm.text", text); - if(!strcmp(text, SK_SPEAK_NOW)){ - if(vd->guide_text_timer == NULL) - vd->guide_text_timer = ecore_timer_add(2.0, change_guide_text, vd); - } + elm_object_signal_emit((Evas_Object *)vd->layout_main, "idle,state,text,visible", "elm"); + hide_bottom_button(vd); + + // check whether any result exists + if (is_textblock_empty(vd)) + return; + + show_bottom_button(vd, true); } /** @@ -674,32 +697,22 @@ static void set_guide_text(VoiceData *vd, const char* text, bool translatable) void set_animation_state(VoiceData *voicedata) { if (voicedata->state == STT_STATE_VAL_INIT) { -#if 0 - if (voicedata->sttmanager->GetCurrent() == STT_STATE_READY) { - set_guide_text(voicedata, "", false); - //_elm_access_say(voicedata->layout_main, _(SK_INIT)); - } else { - PRINTFUNC(DLOG_DEBUG, "SK_NETWORK_ERROR [%d]", voicedata->sttmanager->GetCurrent()); - set_guide_text(voicedata, _(SK_NETWORK_ERROR)); - //_elm_access_say(voicedata->layout_main, _(SK_NETWORK_CONNECTION_ERROR)); - } -#endif - if(voicedata->effector) voicedata->effector->Stop(true); - set_guide_text(voicedata, "Tap mic to speak"); + expand_send_text(voicedata); powerLock((void*)voicedata, false); } else if (voicedata->state == STT_STATE_VAL_LISTENING) { - set_guide_text(voicedata, SK_SPEAK_NOW, true); + set_cue_text(voicedata); + contract_send_text(voicedata); if(voicedata->effector) voicedata->effector->Start(); powerLock((void*)voicedata, true); } else if (voicedata->state == STT_STATE_VAL_PROCESSING) { - set_guide_text(voicedata, ""); + expand_send_text(voicedata); if(voicedata->effector) voicedata->effector->Stop(); @@ -707,11 +720,12 @@ void set_animation_state(VoiceData *voicedata) } else { set_guide_text(voicedata, _(SK_RECOGNITION_FAILED)); //_elm_access_say(voicedata->layout_main, _(SK_RECOGNITION_FAILED)); - + expand_send_text(voicedata); voicedata->state = STT_STATE_VAL_NOT_RECOGNISED; if(voicedata->refresh_timer) { ecore_timer_del(voicedata->refresh_timer); + voicedata->refresh_timer = NULL; } if(voicedata->effector) @@ -770,15 +784,20 @@ static Eina_Bool _start_timer_cb(void* data) voicedata->sttmanager->Start(); } catch (is::stt::SttException &e) { + PRINTFUNC(DLOG_ERROR, "%s", e.what()); + if (e.GetEcode() == STT_ERROR_OUT_OF_NETWORK) { + PRINTFUNC(DLOG_DEBUG, "SK_NETWORK_ERROR"); set_guide_text(voicedata, _(SK_NETWORK_ERROR)); voicedata->state = STT_STATE_VAL_INIT; } else if (e.GetEcode() == STT_ERROR_RECORDER_BUSY) { - set_guide_text(voicedata, _(SK_STT_BUSY)); + PRINTFUNC(DLOG_WARN, "STT is used by another application"); + show_popup_toast(_(SK_STT_BUSY), false); voicedata->state = STT_STATE_VAL_INIT; } else { - set_guide_text(voicedata, _(SK_STT_BUSY)); + PRINTFUNC(DLOG_WARN, "Check error code"); + show_popup_toast(_(SK_STT_BUSY), false); voicedata->state = STT_STATE_VAL_INIT; } } @@ -790,6 +809,57 @@ static Eina_Bool _start_timer_cb(void* data) return ECORE_CALLBACK_CANCEL; } +void restart_listening(double in) +{ + PRINTFUNC(DLOG_DEBUG, ""); + + if(my_voicedata){ + // reset STT Objects + if(my_voicedata->ieffect) { + delete my_voicedata->ieffect; + my_voicedata->ieffect = NULL; + } + + if(my_voicedata->effector) { + delete my_voicedata->effector; + my_voicedata->effector = NULL; + } + + if(my_voicedata->sttmanager) { + delete my_voicedata->sttmanager; + my_voicedata->sttmanager = NULL; + } + + if(my_voicedata->sttfeedback) { + delete my_voicedata->sttfeedback; + my_voicedata->sttfeedback = NULL; + } + + if(my_voicedata->setup_timer){ + ecore_timer_del(my_voicedata->setup_timer); + my_voicedata->setup_timer = NULL; + } + + my_voicedata->setup_timer = ecore_timer_add(0.5, _idler_cb, my_voicedata); + + // clear resut + my_voicedata->stt_results.clear(); + + if(my_voicedata->textblock_timer){ + ecore_timer_del(my_voicedata->textblock_timer); + my_voicedata->textblock_timer = NULL; + } + + if(my_voicedata->refresh_timer){ + ecore_timer_del(my_voicedata->refresh_timer); + my_voicedata->refresh_timer = NULL; + } + + hide_bottom_button(my_voicedata); + _update_textblock_timer_cb(my_voicedata); + } +} + /** * @brief - cancel button press callback for cross button * @param - @@ -839,8 +909,6 @@ void on_initial_anim_press_cb(void *data, Evas_Object *obj, const char *emission * Cuased touch reponse time, it can be called to stop animator. * */ - set_guide_text(vd, ""); - if(vd->effector) vd->effector->Stop(); } @@ -867,8 +935,6 @@ void on_initial_anim_press_cb(void *data, Evas_Object *obj, const char *emission catch (is::stt::SttException &e) { PRINTFUNC(DLOG_ERROR, "%s", e.what()); } - if (vd->effector) - vd->effector->Stop(true); break; @@ -884,7 +950,7 @@ void on_initial_anim_press_cb(void *data, Evas_Object *obj, const char *emission static inline void ea_naviframe_back(void *data, Evas_Object *obj, void *event_info) { - if(!data) return; + if (!data) return; evas_object_del((Evas_Object *) data); @@ -915,9 +981,9 @@ char *__get_genlist_item_label(void *data, Evas_Object *obj, const char *part) const int BUF_LEN = 128; char text[BUF_LEN] = {'\0', }; - if(!strcmp(part, "elm.text")) + if (!strcmp(part, "elm.text")) { - if((uintptr_t)data == 0) { + if ((uintptr_t)data == 0) { return strdup(_("IDS_VC_BODY_AUTOMATIC")); } else { char *s = NULL; @@ -1029,7 +1095,7 @@ static void set_language_value(int type) static void get_stt_default_language(VoiceData *my_voicedata) { - if(!my_voicedata) { + if (!my_voicedata) { PRINTFUNC(DLOG_ERROR, "my_voicedata NULL"); return; } @@ -1107,7 +1173,7 @@ static Eina_Bool close_setting_window_idler_cb(void *data) static void language_set_genlist_radio_cb(void *data, Evas_Object *obj, void *event_info) { PRINTFUNC(DLOG_DEBUG, ""); - if(!data) return; + if (!data) return; int index = 0; @@ -1120,12 +1186,16 @@ static void language_set_genlist_radio_cb(void *data, Evas_Object *obj, void *ev set_language_value(index); elm_radio_value_set(radio_gp, index); + + if(my_voicedata) + set_textblock_empty(my_voicedata); + ecore_timer_add(0.3, close_setting_window_idler_cb, NULL); } static void language_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - if(!obj) return; + if (!obj) return; elm_genlist_realized_items_update(obj); } @@ -1146,9 +1216,9 @@ static void _language_list_item_realized(void *data, Evas_Object *obj, void *eve PRINTFUNC(DLOG_DEBUG, "%s", __func__); } -static Evas_Object *create_language_list(Evas_Object *parent) +static Evas_Object *create_language_list(Evas_Object *parent, Eext_Circle_Surface* circle_surface) { - if(!parent) return NULL; + if (!parent) return NULL; Evas_Object *genlist = elm_genlist_add(parent); if (!genlist) return NULL; @@ -1156,7 +1226,7 @@ static Evas_Object *create_language_list(Evas_Object *parent) elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS); elm_genlist_homogeneous_set(genlist, EINA_TRUE); #ifdef _CIRCLE - Evas_Object *circle_language_genlist = eext_circle_object_genlist_add(genlist, NULL); + Evas_Object *circle_language_genlist = eext_circle_object_genlist_add(genlist, circle_surface); 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); @@ -1268,7 +1338,7 @@ void create_setting_window(Evas_Object *more_option_layout) * */ window = elm_win_add(NULL, "voice-input-setting", ELM_WIN_BASIC); - if(!window) { + if (!window) { PRINTFUNC(DLOG_DEBUG, "it's fail to create window."); return; } @@ -1330,7 +1400,7 @@ void create_setting_window(Evas_Object *more_option_layout) * Push language list * */ - genlist = create_language_list(naviframe); + genlist = create_language_list(naviframe, NULL); const char *item_style = NULL; if (_WEARABLE) @@ -1347,7 +1417,7 @@ void create_setting_window(Evas_Object *more_option_layout) void _stt_lang_changed_cb(keynode_t *key, void* data) { PRINTFUNC(DLOG_DEBUG, ""); - if(!data) return; + if (!data) return; VoiceData *vd = (VoiceData *) data; get_stt_default_language(vd); @@ -1361,8 +1431,8 @@ static void __done_key_cb(void *data, Evas_Object *obj, void *event_info ) { PRINTFUNC(DLOG_DEBUG, ""); - if(!obj) return; - if(!data) return; + if (!obj) return; + if (!data) return; VoiceData *voicedata = (VoiceData *)data; @@ -1371,7 +1441,7 @@ static void __done_key_cb(void *data, Evas_Object *obj, void *event_info ) static void __stt_detailed_entry_input_panel_event_cb(void *data, Ecore_IMF_Context *imf_context, int value) { - if(!data) return; + if (!data) return; VoiceData *voicedata = (VoiceData *)data; @@ -1397,7 +1467,7 @@ static void __stt_detailed_entry_del_cb(void *data, Evas *e, Evas_Object *obj, v } } -static Evas_Object *create_text_detiled_view(Evas_Object *parent) +Evas_Object *create_text_detiled_view(Evas_Object *parent) { string edj_path = get_resource_path(); if(_WEARABLE) @@ -1417,10 +1487,8 @@ static Evas_Object *create_text_detiled_view(Evas_Object *parent) Evas_Object *entry = elm_entry_add(parent); evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL); -// ea_entry_selection_back_event_allow_set(entry, EINA_TRUE); elm_entry_context_menu_disabled_set(entry, EINA_TRUE); elm_entry_select_allow_set(entry, EINA_FALSE); -// elm_entry_cursor_handler_disabled_set(entry, EINA_TRUE); elm_entry_single_line_set(entry, EINA_TRUE); elm_entry_scrollable_set(entry, EINA_TRUE); elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); @@ -1431,12 +1499,18 @@ static Evas_Object *create_text_detiled_view(Evas_Object *parent) return layout; } +static Eina_Bool _idler_cb2(void *data) +{ + if (!data) return ECORE_CALLBACK_CANCEL; + + return ECORE_CALLBACK_CANCEL; +} static Eina_Bool __stt_entry_detailed_view_pop_cb(void *data, Elm_Object_Item *it) { PRINTFUNC(DLOG_DEBUG, ""); - if(!data) return EINA_FALSE; + if (!data) return EINA_FALSE; VoiceData *voicedata = (VoiceData *)data; @@ -1444,26 +1518,37 @@ static Eina_Bool __stt_entry_detailed_view_pop_cb(void *data, Elm_Object_Item *i Evas_Object *detailed_layout = elm_object_item_part_content_get(it, "elm.swallow.content"); Evas_Object *detailed_entry = elm_object_part_content_get(detailed_layout, "contents"); - const char *str = NULL; + if (elm_entry_is_empty(detailed_entry) == EINA_TRUE){ + PRINTFUNC(DLOG_DEBUG, "detailed_entry is empty"); + voicedata->stt_results.clear(); + elm_entry_entry_set(main_entry, ""); - int pos = 0; - pos = elm_entry_cursor_pos_get(detailed_entry); - PRINTFUNC(DLOG_DEBUG, "pos = %d", pos); + hide_bottom_button(voicedata); + } else { + const char *str = NULL; + int pos = 0; + pos = elm_entry_cursor_pos_get(detailed_entry); + PRINTFUNC(DLOG_DEBUG, "pos = %d", pos); - str = elm_entry_entry_get(detailed_entry); + str = elm_entry_entry_get(detailed_entry); + PRINTFUNC(DLOG_DEBUG, "str = %s", str); - voicedata->stt_results.clear(); - voicedata->stt_results.push_back(str); + if (str) { + voicedata->stt_results.clear(); + voicedata->stt_results.push_back(str); + } + + elm_entry_entry_set(main_entry, str); + elm_entry_cursor_pos_set(main_entry, pos); -// uxt_scroller_set_auto_scroll_enabled(voicedata->scroller, EINA_TRUE); - elm_entry_entry_set(main_entry, str); - elm_entry_cursor_pos_set(main_entry, pos); + int x, y, w, h; + elm_entry_cursor_geometry_get(main_entry, &x, &y, &w, &h); + PRINTFUNC(DLOG_DEBUG, "%d %d %d %d", x, y, w, h); - int x, y, w, h; - elm_entry_cursor_geometry_get(main_entry, &x, &y, &w, &h); - PRINTFUNC(DLOG_DEBUG, "%d %d %d %d", x, y, w, h); + elm_scroller_region_bring_in(voicedata->scroller, 0, y+h, 300, 168); - elm_scroller_region_bring_in(voicedata->scroller, 0, y+h, 300, 168); + ecore_idler_add(_idler_cb2, voicedata); + } return EINA_TRUE; } @@ -1472,18 +1557,24 @@ static void _stt_entry_clicked_cb(void *data, Evas_Object * obj, void *event_inf { PRINTFUNC(DLOG_DEBUG, ""); - if(!obj) return; - if(!data) return; + if (!obj) return; + if (!data) return; VoiceData *voicedata = (VoiceData *)data; char *str = NULL; + char *utf8 = NULL; int pos = 0; pos = elm_entry_cursor_pos_get(obj); PRINTFUNC(DLOG_DEBUG, "pos = %d", pos); - str = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); + utf8 = elm_entry_markup_to_utf8(elm_entry_entry_get(obj)); // to remove the tag for fade-in effect + if (utf8) { + str = elm_entry_utf8_to_markup(utf8); + free(utf8); + utf8 = NULL; + } if (str && strlen(str) > 0) { try { @@ -1520,12 +1611,11 @@ static void _stt_entry_clicked_cb(void *data, Evas_Object * obj, void *event_inf return; } - void activate_circle_scroller_for_stt_textbox(void* data, Eina_Bool bActivate) { PRINTFUNC(DLOG_DEBUG, ""); - if(!data) return; + if (!data) return; VoiceData *voicedata = (VoiceData *)data; Evas_Object *scroller = NULL; @@ -1539,7 +1629,7 @@ void activate_circle_scroller_for_stt_textbox(void* data, Eina_Bool bActivate) static Evas_Object *create_textblock(void* data) { - if(!data) return NULL; + if (!data) return NULL; VoiceData *voicedata = (VoiceData *)data; @@ -1558,16 +1648,11 @@ static Evas_Object *create_textblock(void* data) edj_path = edj_path + STT_EDJ_FILE_MOBILE; scroller = elm_scroller_add(voicedata->layout_main); - elm_scroller_loop_set(scroller, EINA_FALSE, EINA_FALSE); - evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - elm_scroller_page_size_set(scroller, 0, 50); - elm_scroller_page_scroll_limit_set(scroller, 0, 1); - elm_object_scroll_lock_x_set(scroller, EINA_TRUE); + if (_WEARABLE) { circle_scroller = eext_circle_object_scroller_add(scroller, app_data->circle_surface); eext_circle_object_scroller_policy_set(circle_scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); @@ -1579,11 +1664,7 @@ static Evas_Object *create_textblock(void* data) elm_layout_file_set(inner_layout, edj_path.c_str(), "layout_textblock"); evas_object_size_hint_weight_set(inner_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_signal_callback_add(inner_layout, "do_scroll", "entry", - [](void *data, Evas_Object *obj, const char* signal, const char* e) - { - _bring_in_cb((void *) data); - }, (void *) scroller); + elm_object_signal_callback_add(inner_layout, "do_scroll", "entry", _bring_in_cb, (void *) voicedata); entry = elm_entry_add(inner_layout); voicedata->main_entry = entry; @@ -1613,22 +1694,141 @@ static Evas_Object *create_textblock(void* data) return scroller; } -static Evas_Object *create_progressbar(Evas_Object *parent) +bool is_textblock_empty(void *data) +{ + if (!data) return false; + + VoiceData *voicedata = (VoiceData *)data; + + Evas_Object *scroller = (Evas_Object *)voicedata->scroller; + Evas_Object *inner_layout = NULL; + + inner_layout = (Evas_Object *) evas_object_data_get(scroller, "inner_layout"); + + Evas_Object *entry = elm_layout_content_get(inner_layout, "elm.swallow.content"); + if (!entry) + { + PRINTFUNC(DLOG_ERROR, "failed to get entry"); + return false; + } + + if (elm_entry_is_empty(entry)) { + PRINTFUNC(DLOG_ERROR, "entry empty"); + return true; + } + + return false; +} + +void set_textblock_empty(void *data) +{ + if (!data) return; + + VoiceData *voicedata = (VoiceData *)data; + + Evas_Object *scroller = (Evas_Object *)voicedata->scroller; + Evas_Object *inner_layout = NULL; + + inner_layout = (Evas_Object *) evas_object_data_get(scroller, "inner_layout"); + + Evas_Object *entry = elm_layout_content_get(inner_layout, "elm.swallow.content"); + if (!entry) { + PRINTFUNC(DLOG_ERROR, "failed to get entry"); + return; + } + + PRINTFUNC(DLOG_DEBUG, "set entry empty"); + elm_entry_entry_set(entry, NULL); + + return; +} + +static Evas_Object *create_bottom_button(void* data) +{ + PRINTFUNC(DLOG_DEBUG, "create_bottom_button"); + if (!data) return NULL; + + VoiceData *voicedata = (VoiceData *)data; + + Evas_Object *bottom_button = elm_button_add(voicedata->layout_main); + elm_object_style_set(bottom_button, "vic/micbutton"); + + evas_object_smart_callback_add(bottom_button, "clicked", on_confirm_button_clicked_cb, voicedata); + evas_object_show(bottom_button); + + return bottom_button; +} + +void show_bottom_button(void* data, bool delayed) { - Evas_Object *progressbar = NULL; + PRINTFUNC(DLOG_DEBUG, "show_bottom_button"); + if (!data) return; - progressbar = elm_progressbar_add(parent); - elm_object_style_set(progressbar, "voice_input/process/small"); - elm_progressbar_pulse(progressbar, EINA_TRUE); + VoiceData *voicedata = (VoiceData *)data; - evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + if (delayed) { + elm_object_signal_emit((Evas_Object *)voicedata->layout_main, "idle,state,show,bottom_button,delayed", "elm"); + PRINTFUNC(DLOG_DEBUG, "Emit idle,state,show,bottom_button,delayed"); + } else { + elm_object_signal_emit((Evas_Object *)voicedata->layout_main, "idle,state,show,bottom_button", "elm"); + PRINTFUNC(DLOG_DEBUG, "Emit idle,state,show,bottom_button"); + } +} -// ea_theme_object_color_replace(progressbar, "B065L6", "AO012"); +void hide_bottom_button(void* data) +{ + PRINTFUNC(DLOG_DEBUG, "hide_bottom_button"); + if (!data) return; - evas_object_show(progressbar); + VoiceData *voicedata = (VoiceData *)data; - return progressbar; + elm_object_signal_emit((Evas_Object *)voicedata->layout_main, "idle,state,hide,bottom_button", "elm"); + PRINTFUNC(DLOG_DEBUG, "Emit idle,state,hide,bottom_button"); +} + +static void scroll_effect_start(void* data, Evas_Object* obj, const char* s, const char* e) +{ + PRINTFUNC(DLOG_DEBUG, "scroll_effect_start"); + if (!data) return; + + VoiceData *voicedata = (VoiceData *)data; + + if (voicedata->state == STT_STATE_VAL_LISTENING) + return; + + if (is_textblock_empty(voicedata) == true) + return; + + hide_bottom_button(voicedata); +} + +static void scroll_effect_stop(void* data, Evas_Object* obj, const char* s, const char* e) +{ + PRINTFUNC(DLOG_DEBUG, "scroll_effect_stop"); + if (!data) return; + + VoiceData *voicedata = (VoiceData *)data; + + if (voicedata->state == STT_STATE_VAL_LISTENING) + return; + + Evas_Coord x, y, w, h; + Evas_Object *scroller = (Evas_Object *)voicedata->scroller; + Evas_Object *inner_layout = NULL; + + inner_layout = (Evas_Object *) evas_object_data_get(scroller, "inner_layout"); + + evas_object_geometry_get(inner_layout , &x, &y, &w, &h); + PRINTFUNC(DLOG_DEBUG, "scroll x=%d, y=%d, w=%d, h=%d", x, y, w, h); + + if (is_textblock_empty(voicedata) == true) + return; + + if (h+y != (360 - BOTTOM_PADDING_AREA)) { + show_bottom_button(voicedata, true); + } else { + show_bottom_button(voicedata, false); + } } static Eina_Bool _custom_back_cb(void *data, Elm_Object_Item *it) @@ -1657,7 +1857,6 @@ static Evas_Object *create_fullview(Evas_Object *parent, VoiceData *r_voicedata) voicedata->mo = mo; - layout_main = elm_layout_add(mo->getMoreOptionLayout()); if (!layout_main) @@ -1682,10 +1881,9 @@ static Evas_Object *create_fullview(Evas_Object *parent, VoiceData *r_voicedata) elm_layout_file_set(layout_main, edj_path.c_str(), "mic_control"); - elm_object_content_set(parent, layout_main); - //Canvas for Cairo effect Evas_Object *canvas = evas_object_image_filled_add(evas_object_evas_get(layout_main)); + evas_object_propagate_events_set(canvas, EINA_TRUE); evas_object_image_alpha_set(canvas, EINA_TRUE); evas_object_size_hint_align_set(canvas, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(canvas, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -1693,7 +1891,7 @@ static Evas_Object *create_fullview(Evas_Object *parent, VoiceData *r_voicedata) Evas_Coord CanvasW, CanvasH; CanvasW = 360; - CanvasH = 74; + CanvasH = 64; evas_object_image_size_set(canvas, CanvasW, CanvasH); evas_object_resize(canvas, CanvasW, CanvasH); evas_object_size_hint_min_set(canvas, CanvasW, CanvasH); @@ -1701,55 +1899,26 @@ static Evas_Object *create_fullview(Evas_Object *parent, VoiceData *r_voicedata) elm_object_part_content_set(layout_main, "EFFECT_BG", canvas); - // MIC Button - Evas_Object *m_mic_button = elm_button_add(layout_main); - elm_object_style_set(m_mic_button, "vic/micbutton"); - elm_object_part_content_set(layout_main, "MIC", m_mic_button); - - elm_object_disabled_set(m_mic_button, EINA_TRUE); - evas_object_smart_callback_add(m_mic_button, "clicked", on_mic_button_press_cb, (void *) voicedata); - - voicedata->mic_button = m_mic_button; + // Bottom Button + Evas_Object *bottom_button = create_bottom_button(voicedata); + elm_object_part_content_set(voicedata->layout_main, "BOTTOM_BUTTON", bottom_button); + voicedata->bottom_button = bottom_button; - if(voicedata->btn_disabling_timer == NULL){ - voicedata->btn_disabling_timer = ecore_timer_add(2.0, _mic_button_enable_cb, voicedata); + // STT Setup timer + if (voicedata->setup_timer == NULL) { + voicedata->setup_timer = ecore_timer_add(0.3, _idler_cb, voicedata); } -// ecore_idler_add(_idler_cb, voicedata); - ecore_timer_add(0.6, _idler_cb, voicedata); - - // Confirm panel layout - Evas_Object *panel_layout; - panel_layout = elm_layout_add(layout_main); - elm_layout_theme_set(panel_layout, "layout", "drawer", "panel"); - evas_object_show(panel_layout); - - // Confirm panel - Evas_Object *panel; - panel = elm_panel_add(panel_layout); - elm_panel_orient_set(panel, ELM_PANEL_ORIENT_LEFT); - elm_layout_theme_set(panel, "panel", "left_confirm", "default"); - elm_layout_theme_set(panel, "panel", "left_sending", "default"); - - elm_layout_signal_callback_add(panel, "cue,clicked", "elm", _panel_cue_clicked_cb, (void *) voicedata); - evas_object_show(panel); - - elm_object_part_content_set(panel_layout, "elm.swallow.right", panel); - elm_object_part_content_set(layout_main, "left_panel_area", panel_layout); - - elm_object_signal_emit(panel, "elm,state,disabled", "elm"); - elm_panel_toggle(panel); - - // Textblock Evas_Object *scroller = create_textblock(voicedata); elm_object_part_content_set(layout_main, "text_area", scroller); voicedata->scroller = scroller; - // Progress Bar - Evas_Object *progress_bar = create_progressbar(layout_main); - elm_object_part_content_set(layout_main, "PROGRESS_BAR", progress_bar); - voicedata->progressbar = progress_bar; + elm_object_signal_callback_add(scroller, "do-show-vbar", "", scroll_effect_start, voicedata); + elm_object_signal_callback_add(scroller, "do-hide-vbar", "", scroll_effect_stop, voicedata); + + // Send Text + elm_object_part_text_set(layout_main, "elm.text.send", dgettext(PACKAGE, "IDS_AMEMO_BUTTON_SEND")); // add callback elm_object_signal_callback_add(layout_main, "idle,state,pulse,visible", "", on_initial_anim_press_cb, voicedata); @@ -1790,15 +1959,11 @@ int init_voicedata(VoiceData *r_voicedata) voicedata->progressbar = NULL; voicedata->scroller = NULL; voicedata->main_entry = NULL; - voicedata->mic_button = NULL; voicedata->state = STT_STATE_VAL_INIT; voicedata->kbd_lang = NULL; voicedata->start_timer = NULL; voicedata->refresh_timer = NULL; - voicedata->progressbar_timer = NULL; voicedata->textblock_timer = NULL; - voicedata->guide_text_timer = NULL; - voicedata->btn_disabling_timer = NULL; voicedata->power_unlock_timer = NULL; voicedata->stt_results.clear(); voicedata->partial_result = NULL; @@ -1853,12 +2018,6 @@ int init_voice(Evas_Object *parent, const char *lang, VoiceData *r_voicedata) return FALSE; } - if (NULL != voicedata->textblock_timer) { - PRINTFUNC(DLOG_DEBUG, "delete previous textblock"); - ecore_timer_del(voicedata->textblock_timer); - voicedata->textblock_timer = NULL; - } - init_voice_recorder(NULL); return TRUE; @@ -1880,6 +2039,7 @@ static Eina_Bool init_view(void *data) voicedata->layout_main = create_fullview(voicedata->naviframe, voicedata); if (voicedata->layout_main) { + hide_bottom_button(voicedata); evas_object_show(voicedata->layout_main); } @@ -1936,11 +2096,13 @@ void on_stt_pause(VoiceData *r_voicedata){ VoiceData *voicedata = (VoiceData *)r_voicedata; - if(voicedata){ - try{ - //voicedata->state = STT_STATE_VAL_PREPARE_CANCEL; - voicedata->sttmanager->Cancel(); - }catch(is::stt::SttException &e){ + if (voicedata) { + try { + if (voicedata->sttmanager) + voicedata->sttmanager->Cancel(); + else + PRINTFUNC(DLOG_ERROR, "sttmanager is null"); + } catch(is::stt::SttException &e) { PRINTFUNC(DLOG_ERROR, "reason : %s", e.what()); } @@ -1948,8 +2110,8 @@ void on_stt_pause(VoiceData *r_voicedata){ close_setting_window_idler_cb(NULL); Evas_Object *mo_layout = voicedata->mo->getMoreOptionLayout(); if (_WEARABLE) { - if(mo_layout){ - if(eext_more_option_opened_get(mo_layout) == EINA_TRUE) { + if (mo_layout){ + if (eext_more_option_opened_get(mo_layout) == EINA_TRUE) { eext_more_option_opened_set(mo_layout, EINA_FALSE); } } @@ -1957,6 +2119,21 @@ void on_stt_pause(VoiceData *r_voicedata){ } } +void on_stt_resume(VoiceData *r_voicedata) +{ + PRINTFUNC(NO_PRINT, ""); + + VoiceData *voicedata = (VoiceData *)r_voicedata; + if (voicedata){ + if (voicedata->mo) { + if (voicedata->mo->isMoreOptionOpened() == EINA_FALSE && is_textblock_empty(voicedata)) { + restart_listening(2.0); + return; + } + } + } +} + void on_destroy(VoiceData *r_voicedata) { PRINTFUNC(NO_PRINT, ""); @@ -1966,7 +2143,27 @@ void on_destroy(VoiceData *r_voicedata) powerUnlock(); if (NULL != voicedata) { + if (NULL != voicedata->main_entry) { + evas_object_smart_callback_del(voicedata->main_entry, "clicked", _stt_entry_clicked_cb); + voicedata->main_entry = NULL; + } + + if (NULL != voicedata->scroller) { + Evas_Object *inner_layout = NULL; + inner_layout = (Evas_Object *) evas_object_data_get(voicedata->scroller, "inner_layout"); + + if (NULL != inner_layout) + elm_object_signal_callback_del(inner_layout, "do_scroll", "entry", _bring_in_cb); + + + elm_object_signal_callback_del(voicedata->scroller, "do-show-vbar", "", scroll_effect_start); + elm_object_signal_callback_del(voicedata->scroller, "do-hide-vbar", "", scroll_effect_stop); + + voicedata->scroller = NULL; + } + if (NULL != voicedata->layout_main) { + elm_object_signal_callback_del(voicedata->layout_main, "idle,state,pulse,visible", "", on_initial_anim_press_cb); voicedata->layout_main = NULL; } @@ -1974,6 +2171,11 @@ void on_destroy(VoiceData *r_voicedata) voicedata->naviframe = NULL; } + if (NULL != voicedata->setup_timer) { + ecore_timer_del(voicedata->setup_timer); + voicedata->setup_timer = NULL; + } + if (NULL != voicedata->start_timer) { ecore_timer_del(voicedata->start_timer); voicedata->start_timer = NULL; @@ -1984,27 +2186,11 @@ void on_destroy(VoiceData *r_voicedata) voicedata->refresh_timer = NULL; } - if (NULL != voicedata->progressbar_timer) { - ecore_timer_del(voicedata->progressbar_timer); - voicedata->progressbar_timer = NULL; - elm_progressbar_pulse(voicedata->progressbar, EINA_FALSE); - } - if (NULL != voicedata->textblock_timer) { ecore_timer_del(voicedata->textblock_timer); voicedata->textblock_timer = NULL; } - if (NULL != voicedata->guide_text_timer) { - ecore_timer_del(voicedata->guide_text_timer); - voicedata->guide_text_timer = NULL; - } - - if (NULL != voicedata->btn_disabling_timer) { - ecore_timer_del(voicedata->btn_disabling_timer); - voicedata->btn_disabling_timer = NULL; - } - if (NULL != voicedata->power_unlock_timer) { ecore_timer_del(voicedata->power_unlock_timer); voicedata->power_unlock_timer = NULL; @@ -2043,6 +2229,3 @@ void on_destroy(VoiceData *r_voicedata) delete voicedata; } } - - - -- 2.7.4 From cd7a7f9cd81ec863a4141712b3daf2aa09d2cc84 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Thu, 7 Sep 2017 17:07:40 +0900 Subject: [PATCH 06/16] Update package version to 0.1.170907 Change-Id: I35ee090d6dcb3ed528657b1e2b6afac07425a3d3 Signed-off-by: sungwook79.park --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index 801deaf..e1ed2ee 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index 8816db5..7770803 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.170904 +Version: 0.1.170907 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From 3526540a18c70afd9c305425a8f1163f786d2f92 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Mon, 11 Sep 2017 15:04:30 +0900 Subject: [PATCH 07/16] Fix build warning Change-Id: I94a806eec03070fa4f7a2b886592043cff3ef9f6 Signed-off-by: sungwook79.park --- CMakeLists.txt | 2 +- src/MoreOption.cpp | 4 ++-- src/w-input-keyboard.cpp | 9 +++++---- src/w-input-selector.cpp | 5 ++--- src/w-input-stt-voice.cpp | 20 -------------------- 5 files changed, 10 insertions(+), 30 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a2e1690..939043b 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,7 +64,7 @@ FOREACH(flag ${INPUTDELEGATOR_PKGS_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE -Wall -Werror") #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -finstrument-functions") SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g") SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -g") diff --git a/src/MoreOption.cpp b/src/MoreOption.cpp index 39bc951..51089c1 100755 --- a/src/MoreOption.cpp +++ b/src/MoreOption.cpp @@ -153,8 +153,8 @@ MoreOption::MoreOption(Evas_Object *naviframe, void* voicedata) , more_option_layout(NULL) , item(NULL) , option_opened(EINA_FALSE) - , discard_popup_opened(EINA_FALSE) - , voicedata(voicedata) { + , voicedata(voicedata) + , discard_popup_opened(EINA_FALSE) { /** todo. implement constructor */ voice_input_back_agree = false; } diff --git a/src/w-input-keyboard.cpp b/src/w-input-keyboard.cpp index ba9a217..6c359c9 100755 --- a/src/w-input-keyboard.cpp +++ b/src/w-input-keyboard.cpp @@ -34,9 +34,9 @@ bool input_keyboard_init(app_control_h app_control) int ret = -1; char *default_text = NULL; char *guide_text = NULL; - char *return_key_type = "SEND"; + char *return_key_type = (char *)"SEND"; char *max_text_length = NULL; - char *cursor_position_set = "0"; + char *cursor_position_set = (char *)"0"; input_keyboard_deinit(); @@ -77,7 +77,7 @@ void input_keyboard_deinit(void) g_input_keyboard_data.default_text = NULL; g_input_keyboard_data.guide_text = NULL; - g_input_keyboard_data.return_key_type = "SEND"; + g_input_keyboard_data.return_key_type = (char *)"SEND"; g_input_keyboard_data.max_text_length = KEYBOARD_EDITOR_CHAR_COUNT_MAX; g_input_keyboard_data.cursor_position_set = 0; @@ -125,7 +125,8 @@ static void maxlength_cb(void *data, Evas_Object *obj, void *event_info) { LOGD("maxlength_cb : size = %d", KEYBOARD_EDITOR_CHAR_COUNT_MAX); char text[512]; - snprintf(text, sizeof(text), _(MAX_TEXT_LENGTH_REACH), g_input_keyboard_data.max_text_length); + const char *guide = _(MAX_TEXT_LENGTH_REACH); + snprintf(text, sizeof(text), guide, g_input_keyboard_data.max_text_length); show_popup_toast((const char *)text, false); } diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 0bfbeff..05afb39 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -843,7 +843,6 @@ unsigned int _update_smartreply_items(void *user_data) App_Data* app_data; Elm_Object_Item *first; - Elm_Object_Item *menu; unsigned int i = 0; unsigned int len = 0; @@ -864,7 +863,7 @@ unsigned int _update_smartreply_items(void *user_data) /* Move to smartreply */ first = elm_genlist_first_item_get(app_data->genlist); - menu = elm_genlist_item_next_get(first); + elm_genlist_item_next_get(first); if (input_smartreply_is_enabled() == false) return item_size; @@ -885,7 +884,7 @@ unsigned int _update_smartreply_items(void *user_data) itc->func.del = NULL; for (i = 0; i < len; i++) { - char *reply = "hello"; + char *reply = (char *)"hello"; unsigned int j; bool matched; diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index 6f137e5..c01db72 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -70,8 +70,6 @@ static Elm_Genlist_Item_Class itc_title; static Elm_Genlist_Item_Class itc_1text; static Elm_Genlist_Item_Class itc_2text; -static bool sroll_bar_show = false; - static bool g_send_button_clicked = false; @@ -416,17 +414,6 @@ void start_by_press(VoiceData *voicedata) edje_object_signal_emit(_EDJ(voicedata->layout_main), "mouse,clicked,1", "background"); } -static void on_mic_button_press_cb(void *data, Evas_Object *obj, void *event_info) -{ - LOGD("on_mic_button_press_cb"); - VoiceData *voicedata = (VoiceData *)data; - if (!voicedata) return; - - edje_object_signal_emit(_EDJ(voicedata->layout_main), "mouse,clicked,1", "background"); - - return; -} - static void on_confirm_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) { if (!data) @@ -479,13 +466,6 @@ static void on_confirm_button_clicked_cb(void *data, Evas_Object *obj, void *eve return; } -static void -_panel_cue_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) -{ - PRINTFUNC(DLOG_DEBUG, "left cue clicked!!"); - on_confirm_button_clicked_cb(data, NULL, NULL); -} - void stt_feedback_initialize() { int ret = 0; -- 2.7.4 From 3cf38be1ab7362b33156f698c03a74a0678fb8cd Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Mon, 11 Sep 2017 20:24:36 +0900 Subject: [PATCH 08/16] Update package version to 0.1.170911 Change-Id: I3fd3e16da7f5255ddd0b504c02d62537ff3e67f5 Signed-off-by: Jihoon Kim --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index e1ed2ee..3a9ab18 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index 7770803..373aa7a 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.170907 +Version: 0.1.170911 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From 88e6d5b32ebf1d2a5eea1d50cb60330f9c423145 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Wed, 20 Sep 2017 10:37:15 +0900 Subject: [PATCH 09/16] Use SECURE_LOGD Change-Id: Ieab397a6843878e6e741ec401766451a3ddfd6d8 Signed-off-by: sungwook79.park --- src/w-input-keyboard.cpp | 2 +- src/w-input-selector.cpp | 2 +- src/w-input-stt-voice.cpp | 10 +++++----- src/w-input-template.cpp | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/w-input-keyboard.cpp b/src/w-input-keyboard.cpp index 6c359c9..cbb816d 100755 --- a/src/w-input-keyboard.cpp +++ b/src/w-input-keyboard.cpp @@ -94,7 +94,7 @@ void exit_keyboard() } const char *getText = elm_entry_entry_get(entry); - LOGD("button key clicked!! : getText = %s", getText); + SECURE_LOGD("button key clicked!! : getText = %s", getText); char cursorPosition[512]; snprintf(cursorPosition, sizeof(cursorPosition), "%d", elm_entry_cursor_pos_get(entry)); diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 05afb39..53576e0 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -894,7 +894,7 @@ unsigned int _update_smartreply_items(void *user_data) reply = input_smartreply_get_nth_item(i, &type); if (reply == NULL) continue; - PRINTFUNC(DLOG_DEBUG, "SmartReply = [%d]%s", i, reply); + SECURE_LOGD("SmartReply = [%d]%s", i, reply); for (j = 0; j < template_list.size(); j++) { const char *template_str; diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index c01db72..7ce7973 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -45,8 +45,8 @@ using namespace std; elm_genlist_item_append(obj, &(style), (void *)(uintptr_t)index, NULL, ELM_GENLIST_ITEM_NONE, cb, udata) #define VIRTUAL_TEXT_AREA_FONT_STYLE \ - "DEFAULT='font=Tizen:style=Regular font_size=32 color=#FFFFFF color_class=AT013 text_class=tizen wrap=mixed align=center' \ - newline='br' b='+ font=Tizen:style=Bold'link='+ underline=on underline_color=#FFFFFF'" + "DEFAULT = 'font = Tizen:style = Regular font_size = 32 color = #FFFFFF color_class = AT013 text_class = tizen wrap = mixed align = center' \ + newline = 'br' b = '+ font = Tizen:style = Bold'link = '+ underline = on underline_color = #FFFFFF'" #define TOP_PADDING_AREA 120 #define BOTTOM_PADDING_AREA 81 // Bottom Button H 78 + margin 3 @@ -367,7 +367,7 @@ void voice_get_string(const char *keyValue, _VoiceData *voicedata) strbuf = elm_entry_utf8_to_markup(keyValue); - PRINTFUNC(DLOG_DEBUG, "text : %s, voicedata->partial_result=%s", strbuf, voicedata->partial_result); + SECURE_LOGD("text : %s, voicedata->partial_result=%s", strbuf, voicedata->partial_result); if(strbuf){ if(voicedata->partial_result){ // partial_result is not Null so replace @@ -451,7 +451,7 @@ static void on_confirm_button_clicked_cb(void *data, Evas_Object *obj, void *eve result_text += " "; } - PRINTFUNC(DLOG_DEBUG, "result_text = %s", result_text.c_str()); + SECURE_LOGD("result_text = %s", result_text.c_str()); char *filePath = NULL; voice_recorder *vr = _voice_recorder_get_data(); @@ -640,7 +640,7 @@ static void set_cue_text(void *data) static void set_guide_text(VoiceData *vd, const char* text, bool translatable) { - PRINTFUNC(DLOG_DEBUG, "text = %s", text); + SECURE_LOGD("text = %s", text); if (!vd) return; diff --git a/src/w-input-template.cpp b/src/w-input-template.cpp index adb23e1..97bbbe2 100755 --- a/src/w-input-template.cpp +++ b/src/w-input-template.cpp @@ -159,7 +159,7 @@ static bool input_template_init_db_util(void) data.use_gettext = true; data.text = (char *)sqlite3_column_text(stmt, 3); - PRINTFUNC(DLOG_DEBUG, "db text %s", data.text.c_str()); + SECURE_LOGD("db text %s", data.text.c_str()); g_input_template.template_list.push_back(data); ret = sqlite3_step(stmt); -- 2.7.4 From 29be3daab7230287e415e8f86a84511bb3865b7c Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Wed, 20 Sep 2017 11:37:38 +0900 Subject: [PATCH 10/16] Update package version to 0.1.170920 Change-Id: Ibce02c1f68f065738b24106e142bcb73d3bc92cc Signed-off-by: sungwook79.park --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index 3a9ab18..0d10d47 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index 373aa7a..7655775 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.170911 +Version: 0.1.170920 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From c467addb58dc254d7844f105a57ee7dcf81a7a15 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Wed, 11 Oct 2017 15:16:40 +0900 Subject: [PATCH 11/16] Support localization Change-Id: Id076e43a98940ed3eac66e6a1dc3bd62ee09d8a1 Signed-off-by: sungwook79.park --- po/ar.po | 11 ++++++++++- po/as.po | 8 ++++++++ po/az.po | 11 ++++++++++- po/be_BY.po | 8 ++++++++ po/bg.po | 11 ++++++++++- po/bn.po | 8 ++++++++ po/bn_BD.po | 8 ++++++++ po/ca.po | 11 ++++++++++- po/cs.po | 11 ++++++++++- po/da.po | 11 ++++++++++- po/de.po | 11 ++++++++++- po/el_GR.po | 11 ++++++++++- po/en.po | 11 ++++++++++- po/en_PH.po | 11 ++++++++++- po/en_US.po | 11 ++++++++++- po/es_ES.po | 11 ++++++++++- po/es_US.po | 11 ++++++++++- po/et.po | 11 ++++++++++- po/eu.po | 11 ++++++++++- po/fa.po | 8 ++++++++ po/fi.po | 11 ++++++++++- po/fr.po | 11 ++++++++++- po/fr_CA.po | 11 ++++++++++- po/ga.po | 11 ++++++++++- po/gl.po | 11 ++++++++++- po/gu.po | 8 ++++++++ po/he.po | 8 ++++++++ po/hi.po | 11 ++++++++++- po/hr.po | 11 ++++++++++- po/hu.po | 11 ++++++++++- po/hy.po | 11 ++++++++++- po/id.po | 8 ++++++++ po/is.po | 11 ++++++++++- po/it_IT.po | 11 ++++++++++- po/ja_JP.po | 11 ++++++++++- po/ka.po | 11 ++++++++++- po/kk.po | 9 +++++++++ po/km.po | 8 ++++++++ po/kn.po | 8 ++++++++ po/ko_KR.po | 11 ++++++++++- po/ky_KG.po | 8 ++++++++ po/lo.po | 8 ++++++++ po/lt.po | 11 ++++++++++- po/lv.po | 11 ++++++++++- po/mk.po | 11 ++++++++++- po/ml.po | 8 ++++++++ po/mn_MN.po | 8 ++++++++ po/mr.po | 8 ++++++++ po/ms.po | 8 ++++++++ po/my_MM.po | 8 ++++++++ po/my_ZG.po | 8 ++++++++ po/nb.po | 11 ++++++++++- po/ne.po | 8 ++++++++ po/nl.po | 11 ++++++++++- po/or.po | 9 +++++++++ po/pa.po | 8 ++++++++ po/pl.po | 11 ++++++++++- po/pl_SP.po | 8 ++++++++ po/pt_BR.po | 11 ++++++++++- po/pt_PT.po | 11 ++++++++++- po/ro.po | 11 ++++++++++- po/ru_RU.po | 11 ++++++++++- po/si.po | 8 ++++++++ po/sk.po | 11 ++++++++++- po/sl.po | 11 ++++++++++- po/sq.po | 8 ++++++++ po/sr.po | 11 ++++++++++- po/sv.po | 11 ++++++++++- po/ta.po | 8 ++++++++ po/te.po | 8 ++++++++ po/tg_TJ.po | 8 ++++++++ po/th.po | 8 ++++++++ po/tk_TM.po | 8 ++++++++ po/tl.po | 8 ++++++++ po/tr_TR.po | 11 ++++++++++- po/uk.po | 11 ++++++++++- po/ur.po | 8 ++++++++ po/uz.po | 11 ++++++++++- po/vi.po | 8 ++++++++ po/zh_CN.po | 11 ++++++++++- po/zh_HK.po | 11 ++++++++++- po/zh_TW.po | 11 ++++++++++- src/w-input-emoticon.cpp | 6 +++--- src/w-input-keyboard.cpp | 4 ++-- src/w-input-selector.cpp | 13 ++----------- 85 files changed, 763 insertions(+), 65 deletions(-) diff --git a/po/ar.po b/po/ar.po index 0283829..c6b1212 100644 --- a/po/ar.po +++ b/po/ar.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "تأكد من أن تطبيق %s قيد التفعيل على هاتفك." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "تم تجاوز الحد الأقصى لعدد الأحرف (%d)." \ No newline at end of file +msgstr "تم تجاوز الحد الأقصى لعدد الأحرف (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "الرسم" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "رموز الإيموجي" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "الحديثة" \ No newline at end of file diff --git a/po/as.po b/po/as.po index a70fa1d..9efef62 100644 --- a/po/as.po +++ b/po/as.po @@ -256,3 +256,11 @@ msgstr "গীয়েৰ ইনপুট" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "আপোনাৰ ফোনত %s এপ সক্ৰিয় থকাটো নিশ্চিত কৰক।" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "অংকন" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ইম'জিচ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "শেহতীয়া" \ No newline at end of file diff --git a/po/az.po b/po/az.po index 7d59e8e..0104414 100644 --- a/po/az.po +++ b/po/az.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Telefonda %s proqramının aktiv olduğundan əmin ol." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Simvolların sayı maksimumu (%d) keçdi." \ No newline at end of file +msgstr "Simvolların sayı maksimumu (%d) keçdi." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Rəsm" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emosiyalar" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Sonuncu" \ No newline at end of file diff --git a/po/be_BY.po b/po/be_BY.po index a148750..cee5d9d 100644 --- a/po/be_BY.po +++ b/po/be_BY.po @@ -256,3 +256,11 @@ msgstr "Увод Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Упэўніцеся, што %s праграма актыўна на вашым тэлефоне." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Малюнак" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Эмодзі" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Апошнія" \ No newline at end of file diff --git a/po/bg.po b/po/bg.po index cf1ce05..cb56345 100644 --- a/po/bg.po +++ b/po/bg.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Уверете се, че приложението %s е активно в телефона." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Максималният брой знаци (%d) е надвишен." \ No newline at end of file +msgstr "Максималният брой знаци (%d) е надвишен." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Рисунка" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Емоджи" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Последни" \ No newline at end of file diff --git a/po/bn.po b/po/bn.po index c2dbba4..1c71b54 100644 --- a/po/bn.po +++ b/po/bn.po @@ -256,3 +256,11 @@ msgstr "গিয়ার ইনপুট" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "%s অ্যাপটি আপনার ফোনে সক্রিয় আছে তা নিশ্চিত করুন।" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "অঙ্কন" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ইমোজিগুলি" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "সাম্প্রতিক" \ No newline at end of file diff --git a/po/bn_BD.po b/po/bn_BD.po index 656e6f9..4333ba8 100644 --- a/po/bn_BD.po +++ b/po/bn_BD.po @@ -256,3 +256,11 @@ msgstr "Gear-এর ইনপুট" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "নিশ্চিত করুন যে %s অ্যাপটি আপনার ফোনে সক্রিয় আছে৷" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "অঙ্কন" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ইমোজি" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "সাম্প্রতিক" \ No newline at end of file diff --git a/po/ca.po b/po/ca.po index 7f23fa6..8d239f0 100644 --- a/po/ca.po +++ b/po/ca.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Asseguri's que l'app %s estigui activa al telèfon." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "S'ha excedit el nombre màxim de caràcters (%d)." \ No newline at end of file +msgstr "S'ha excedit el nombre màxim de caràcters (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Dibuix" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recents" \ No newline at end of file diff --git a/po/cs.po b/po/cs.po index 77fabba..510f3d6 100644 --- a/po/cs.po +++ b/po/cs.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Zkontrolujte, zda je v telefonu aktivní aplikace %s." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Byl překročen maximální počet znaků (%d)." \ No newline at end of file +msgstr "Byl překročen maximální počet znaků (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Kreslení" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Poslední" \ No newline at end of file diff --git a/po/da.po b/po/da.po index ef1b75e..e12802f 100644 --- a/po/da.po +++ b/po/da.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Sørg for, at appen %s er aktiv på telefonen." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Det maksimale antal tegn er overskredet (%d)." \ No newline at end of file +msgstr "Det maksimale antal tegn er overskredet (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Tegning" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Seneste" diff --git a/po/de.po b/po/de.po index c10e87c..2ef749e 100644 --- a/po/de.po +++ b/po/de.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Stellen Sie sicher, dass die %s-App auf Ihrem Telefon aktiv ist." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maximale Anzahl von Zeichen (%d) überschritten." \ No newline at end of file +msgstr "Maximale Anzahl von Zeichen (%d) überschritten." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Zeichnung" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Kürzlich verwendet" \ No newline at end of file diff --git a/po/el_GR.po b/po/el_GR.po index fca2872..00de586 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Βεβαιωθείτε ότι η εφαρμογή %s είναι ενεργή στο τηλέφωνό σας." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Ξεπεράσατε το μέγιστο αριθμό χαρακτήρων (%d)." \ No newline at end of file +msgstr "Ξεπεράσατε το μέγιστο αριθμό χαρακτήρων (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Σχέδιο" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Πρόσφατα" \ No newline at end of file diff --git a/po/en.po b/po/en.po index 491b270..6e54d98 100644 --- a/po/en.po +++ b/po/en.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Make sure the %s app is active on your phone." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maximum number of characters (%d) exceeded." \ No newline at end of file +msgstr "Maximum number of characters (%d) exceeded." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Drawing" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recent" \ No newline at end of file diff --git a/po/en_PH.po b/po/en_PH.po index 8c74d21..ac8d93e 100644 --- a/po/en_PH.po +++ b/po/en_PH.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Make sure the %s app is active on your phone." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maximum number of characters (%d) exceeded." \ No newline at end of file +msgstr "Maximum number of characters (%d) exceeded." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Drawing" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recent" \ No newline at end of file diff --git a/po/en_US.po b/po/en_US.po index 8d82798..af8cf0c 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -263,4 +263,13 @@ msgid "IDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recent" msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maximum number of characters (%d) exceeded." \ No newline at end of file +msgstr "Maximum number of characters (%d) exceeded." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Drawing" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recent" \ No newline at end of file diff --git a/po/es_ES.po b/po/es_ES.po index 6516753..eeb7899 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Asegúrese de que la aplicación %s está activa en el teléfono." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Se ha superado el número máximo de caracteres (%d)." \ No newline at end of file +msgstr "Se ha superado el número máximo de caracteres (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Dibujo" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recientes" \ No newline at end of file diff --git a/po/es_US.po b/po/es_US.po index 690639d..d132ac1 100644 --- a/po/es_US.po +++ b/po/es_US.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Compruebe que la aplicación %s está activa en el teléfono." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Se superó el número máximo de caracteres (%d)." \ No newline at end of file +msgstr "Se superó el número máximo de caracteres (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Dibujo" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recientes" \ No newline at end of file diff --git a/po/et.po b/po/et.po index 99e9a3b..9c81f0d 100644 --- a/po/et.po +++ b/po/et.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Veenduge, et rakendus %s oleks teie telefonis aktiivne." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maksimaalne tähemärkide arv (%d) on ületatud." \ No newline at end of file +msgstr "Maksimaalne tähemärkide arv (%d) on ületatud." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Joonistus" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji ikoonid" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Hiljutised" \ No newline at end of file diff --git a/po/eu.po b/po/eu.po index c92ad58..c7b9add 100644 --- a/po/eu.po +++ b/po/eu.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Ziurtatu %s aplikazioa telefonoan aktibo dagoela." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Gehienezko karaktere kopurua (%d) gainditu da." \ No newline at end of file +msgstr "Gehienezko karaktere kopurua (%d) gainditu da." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Marrazkia" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emotikonoak" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Azkenak" \ No newline at end of file diff --git a/po/fa.po b/po/fa.po index de9ff77..06d4660 100644 --- a/po/fa.po +++ b/po/fa.po @@ -256,3 +256,11 @@ msgstr "ورودی Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "مطمئن شوید برنامه %s در تلفن شما فعال باشد." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "طراحی" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "نمادهای احساسی" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "اخیر" \ No newline at end of file diff --git a/po/fi.po b/po/fi.po index ede3969..2e75664 100644 --- a/po/fi.po +++ b/po/fi.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Varmista, että %s -sovellus on käynnissä puhelimessa." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Merkkien enimmäismäärä (%d) on ylitetty." \ No newline at end of file +msgstr "Merkkien enimmäismäärä (%d) on ylitetty." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Piirros" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojit" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Uusimmat" \ No newline at end of file diff --git a/po/fr.po b/po/fr.po index 0f0cec8..5f754a2 100644 --- a/po/fr.po +++ b/po/fr.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Assurez-vous que l'application %s est active sur votre téléphone." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Le nombre maximal de caractères (%d) a été dépassé." \ No newline at end of file +msgstr "Le nombre maximal de caractères (%d) a été dépassé." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Dessin" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Récents" \ No newline at end of file diff --git a/po/fr_CA.po b/po/fr_CA.po index e7233b3..8d8655b 100644 --- a/po/fr_CA.po +++ b/po/fr_CA.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Assurez-vous que l'application %s est active sur votre téléphone." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Le nombre maximal de caractères (%d) a été dépassé." \ No newline at end of file +msgstr "Le nombre maximal de caractères (%d) a été dépassé." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Dessin" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Récents" \ No newline at end of file diff --git a/po/ga.po b/po/ga.po index ed7bfd4..27e3015 100644 --- a/po/ga.po +++ b/po/ga.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Cinntigh go bhfuil an feidhmchlár %s gníomhach ar d'fhón." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Uaslíon na gcarachtar (%d) sáraithe." \ No newline at end of file +msgstr "Uaslíon na gcarachtar (%d) sáraithe." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Líníocht" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Le déanaí" \ No newline at end of file diff --git a/po/gl.po b/po/gl.po index 3760442..a8bd345 100644 --- a/po/gl.po +++ b/po/gl.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Asegúrate de que a aplicación %s estea activa no teu teléfono." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Superouse o número máximo de caracteres (%d)." \ No newline at end of file +msgstr "Superouse o número máximo de caracteres (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Ilustración" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recente" \ No newline at end of file diff --git a/po/gu.po b/po/gu.po index ab881e3..7f8ec53 100644 --- a/po/gu.po +++ b/po/gu.po @@ -256,3 +256,11 @@ msgstr "ગિઅર ઇનપુટ" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "ખાતરી કરો કે તમારા ફોન પર %s એપ સક્રિય છે." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ચિત્રકામ" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ઇમોજીસ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "તાજેતરનું" \ No newline at end of file diff --git a/po/he.po b/po/he.po index 42573fa..29bf181 100644 --- a/po/he.po +++ b/po/he.po @@ -256,3 +256,11 @@ msgstr "Gear Input" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "ודא שהיישום %s מופעל בטלפון." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ציור" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "סמלי אימוג'י" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "אחרונים" \ No newline at end of file diff --git a/po/hi.po b/po/hi.po index b1b3f25..77088e2 100644 --- a/po/hi.po +++ b/po/hi.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "सुनिश्चित करें कि आपके फोन पर %s एप सक्रिय है।" msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "वर्णों की अधिकतम संख्या (%d) पार हो गई है।" \ No newline at end of file +msgstr "वर्णों की अधिकतम संख्या (%d) पार हो गई है।" + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "चित्रकारी" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "इमोजिस" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "हाल ही" \ No newline at end of file diff --git a/po/hr.po b/po/hr.po index 514f251..82a32e1 100644 --- a/po/hr.po +++ b/po/hr.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Provjerite je li aplikacija %s aktivna na vašem telefonu." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Premašen je maksimalni broj znakova (%d)." \ No newline at end of file +msgstr "Premašen je maksimalni broj znakova (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Crtež" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emotikoni" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Nedavno" \ No newline at end of file diff --git a/po/hu.po b/po/hu.po index ca5eda2..70e43ff 100644 --- a/po/hu.po +++ b/po/hu.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Indítsa el a %s alkalmazást a telefonon." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Túllépte a karakterek maximális számát (%d)." \ No newline at end of file +msgstr "Túllépte a karakterek maximális számát (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Rajz" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojik" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Legutóbbi" \ No newline at end of file diff --git a/po/hy.po b/po/hy.po index ce56265..20b4703 100644 --- a/po/hy.po +++ b/po/hy.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Համոզվեք, որ %s ծրագիրն ակտիվ է հեռախոսում:" msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Նիշերի առավելագույն քանակը (%d) գերազանցվել է:" \ No newline at end of file +msgstr "Նիշերի առավելագույն քանակը (%d) գերազանցվել է:" + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Գծագիր" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Էմոձիներ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Վերջերս" \ No newline at end of file diff --git a/po/id.po b/po/id.po index d66dd5d..6311b1d 100644 --- a/po/id.po +++ b/po/id.po @@ -256,3 +256,11 @@ msgstr "Input Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Pastikan aplikasi %s aktif di ponsel." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Lukisan" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Terbaru" \ No newline at end of file diff --git a/po/is.po b/po/is.po index d601d66..1bd2143 100644 --- a/po/is.po +++ b/po/is.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Gakktu úr skugga um að forritið %s sé virkt í símanum." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Hámarksfjölda stafa (%d) náð." \ No newline at end of file +msgstr "Hámarksfjölda stafa (%d) náð." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Teikning" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji-tákn" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Nýlegt" diff --git a/po/it_IT.po b/po/it_IT.po index 868e769..cfbf965 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Assicuratevi che l'applicazione %s sia attiva sul dispositivo." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Il numero massimo di caratteri (%d) è stato superato." \ No newline at end of file +msgstr "Il numero massimo di caratteri (%d) è stato superato." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Disegno" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recenti" \ No newline at end of file diff --git a/po/ja_JP.po b/po/ja_JP.po index 947a368..831dcbe 100644 --- a/po/ja_JP.po +++ b/po/ja_JP.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "端末で%sアプリが実行されていることを確認してください。" msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "最大文字数(%d文字)を超えています。" \ No newline at end of file +msgstr "最大文字数(%d文字)を超えています。" + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "スケッチ" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "絵文字" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "最近使用した絵文字" \ No newline at end of file diff --git a/po/ka.po b/po/ka.po index f49e785..9c0726e 100644 --- a/po/ka.po +++ b/po/ka.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "დარწმუნდით, რომ ტელეფონში აქტიურია %s აპლიკაცია." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "გადაჭარბებულია სიმბოლოების მაქსიმალური რაოდენობა (%d)." \ No newline at end of file +msgstr "გადაჭარბებულია სიმბოლოების მაქსიმალური რაოდენობა (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ხატვა" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "სიცილაკები" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ბოლოდროის" \ No newline at end of file diff --git a/po/kk.po b/po/kk.po index 052cbbf..f8e30c0 100644 --- a/po/kk.po +++ b/po/kk.po @@ -258,3 +258,12 @@ msgstr "%s қолданбасының телефоныңызда қосулы е msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" msgstr "Таңбалар ең көп (%d) санынан асып кетті." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Сызба" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Смайликтер" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Соңғы" diff --git a/po/km.po b/po/km.po index 7635cba..3a83120 100644 --- a/po/km.po +++ b/po/km.po @@ -256,3 +256,11 @@ msgstr "ការបញ្ចូល​នៃ Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "ត្រូវ​ប្រាកដ​ថា កម្មវិធី %s សកម្ម លើ​ទូរសព្ទ​របស់​អ្នក។" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ការគូស" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ថ្មីៗ" \ No newline at end of file diff --git a/po/kn.po b/po/kn.po index 8b33dc6..0570ecb 100644 --- a/po/kn.po +++ b/po/kn.po @@ -256,3 +256,11 @@ msgstr "ಗೇರ್ ಇನ್‌ಪುಟ್" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "ಫೋನ್‌ನಲ್ಲಿ %s ಅನ್ವಯಿಸುವಿಕೆಯು ಸಕ್ರಿಯವಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ಡ್ರಾಯಿಂಗ್" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ಎಮೋಜಿಗಳು" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ಇತ್ತೀಚಿನ" \ No newline at end of file diff --git a/po/ko_KR.po b/po/ko_KR.po index 1def068..79fbb48 100644 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "폰에서 %s 앱이 실행되어 있는지 확인하세요." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "최대 글자 수(%d)를 초과했습니다." \ No newline at end of file +msgstr "최대 글자 수(%d)를 초과했습니다." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "그리기" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "이모티콘" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "최근 보낸 이모티콘" \ No newline at end of file diff --git a/po/ky_KG.po b/po/ky_KG.po index b5ceead..cd404ed 100644 --- a/po/ky_KG.po +++ b/po/ky_KG.po @@ -256,3 +256,11 @@ msgstr "Gear Киргизүүсү" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "%s колдонмосу телефонуңузда иштеп жаткандыгын текшериңиз." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Тартуу" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Эмоджилер" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Акыркы" \ No newline at end of file diff --git a/po/lo.po b/po/lo.po index be66044..94deaf6 100644 --- a/po/lo.po +++ b/po/lo.po @@ -256,3 +256,11 @@ msgstr "ການປ້ອນຂໍ້ມູນເກຍ" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "ເຮັດໃຫ້ແນ່ໃຈວ່າແອັບ %s ເປີດໃຊ້ງານຢູ່ເທິງໂທລະສັບຂອງທ່ານ." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ການແຕ້ມ" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ອີໂມຈີ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ຫຼ້າສຸດ" \ No newline at end of file diff --git a/po/lt.po b/po/lt.po index 8ce18c8..849b0c0 100644 --- a/po/lt.po +++ b/po/lt.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Įsitikinkite, kad telefone suaktyvinta %s programa." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Viršytas didžiausias simbolių skaičius (%d)." \ No newline at end of file +msgstr "Viršytas didžiausias simbolių skaičius (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Piešinys" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Jaustukai" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Naujausi" \ No newline at end of file diff --git a/po/lv.po b/po/lv.po index d134eda..da84ed7 100644 --- a/po/lv.po +++ b/po/lv.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Aktivizējiet tālrunī programmu %s." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Pārsniegts maksimālais rakstzīmju skaits (%d)." \ No newline at end of file +msgstr "Pārsniegts maksimālais rakstzīmju skaits (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Zīmējums" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emocijzīmes" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Jaunākās" \ No newline at end of file diff --git a/po/mk.po b/po/mk.po index e790aba..814d447 100644 --- a/po/mk.po +++ b/po/mk.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Осигурете се дека апликацијата %s е активна на телефонот." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Надминат е максималниот број на знаци (%d)." \ No newline at end of file +msgstr "Надминат е максималниот број на знаци (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Цртеж" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Емоџија" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Последни" \ No newline at end of file diff --git a/po/ml.po b/po/ml.po index 6c3de7c..6f216b8 100644 --- a/po/ml.po +++ b/po/ml.po @@ -256,3 +256,11 @@ msgstr "ഗിയർ ഇൻപുട്ട്" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "നിങ്ങളുടെ ഫോണിൽ %s ആപ്ലിക്കേഷൻ സജീവമാണെന്ന് ഉറപ്പാക്കുക." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ഡ്രോയിംഗ്" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ഇമോജികൾ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "സമീപകാലം" \ No newline at end of file diff --git a/po/mn_MN.po b/po/mn_MN.po index 5e939e3..28a0052 100644 --- a/po/mn_MN.po +++ b/po/mn_MN.po @@ -256,3 +256,11 @@ msgstr "Gear-н Оролт" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Утсан дээрээ %s хэрэглүүрийг идэвхжүүлсэн эсэхээ нягтална уу." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Зурах" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Эможи" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Саяхан" \ No newline at end of file diff --git a/po/mr.po b/po/mr.po index 2797fce..4f52734 100644 --- a/po/mr.po +++ b/po/mr.po @@ -256,3 +256,11 @@ msgstr "गिअर निविष्‍ट" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "आपल्या फोनवर %s अनुप्रयोग सक्रिय असल्याची खात्री करा." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "रेखांकन" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "इमोजीस" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "अलीकडील" \ No newline at end of file diff --git a/po/ms.po b/po/ms.po index 6fb6812..da99eb4 100644 --- a/po/ms.po +++ b/po/ms.po @@ -256,3 +256,11 @@ msgstr "Input Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Pastikan aplikasi %s aktif pada telefon anda." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Melukis" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Terkini" \ No newline at end of file diff --git a/po/my_MM.po b/po/my_MM.po index a5d2dee..55ea20f 100644 --- a/po/my_MM.po +++ b/po/my_MM.po @@ -256,3 +256,11 @@ msgstr "Gear ထည့်သွင်းမှု" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "သင့်ဖုန်းတွင် %s အက်ပ် သက်ဝင်လုပ်ဆောင်နေကြောင်း သေချာစေပါ။" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ပုံဆွဲခြင်း" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ခံစားချက်ပြပုံများ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "လတ်တလော" \ No newline at end of file diff --git a/po/my_ZG.po b/po/my_ZG.po index adc9f6a..3022b69 100644 --- a/po/my_ZG.po +++ b/po/my_ZG.po @@ -256,3 +256,11 @@ msgstr "Gear ထည့္သြင္းမႈ" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "သင့္ဖုန္းတြင္ %s အက္ပ္ သက္ဝင္လုပ္ေဆာင္ေနေၾကာင္း ေသခ်ာေစပါ။" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ပံုဆြဲျခင္း" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ခံစားခ်က္ျပပံုမ်ား" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "လတ္တေလာ" \ No newline at end of file diff --git a/po/nb.po b/po/nb.po index 68e2219..c3b5a26 100644 --- a/po/nb.po +++ b/po/nb.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Pass på at %s-appen er aktiv på telefonen." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maksimalt antall tegn (%d) er oversteget." \ No newline at end of file +msgstr "Maksimalt antall tegn (%d) er oversteget." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Tegning" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Humørikoner" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Nylige" \ No newline at end of file diff --git a/po/ne.po b/po/ne.po index 9625f5f..60cf322 100644 --- a/po/ne.po +++ b/po/ne.po @@ -256,3 +256,11 @@ msgstr "गियर इन्पुट" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "तपाईको फोनमा %s एप सक्रिय छ भनेर सुनिश्चित गर्नुहोस्।" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "रेखाचित्र" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "इमोजीहरू" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "हालको" diff --git a/po/nl.po b/po/nl.po index 0ad134f..80708cc 100644 --- a/po/nl.po +++ b/po/nl.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Controleer of de app %s actief is op uw telefoon." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maximumaantal tekens (%d) overschreden." \ No newline at end of file +msgstr "Maximumaantal tekens (%d) overschreden." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Tekening" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recent" diff --git a/po/or.po b/po/or.po index 8f37ee5..88220f6 100644 --- a/po/or.po +++ b/po/or.po @@ -256,3 +256,12 @@ msgstr "ଗିଅର୍‍ ଇନପୁଟ୍" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "%s ଆପ୍ଲିକେସନ୍‌ ଆପଣଙ୍କ ଫୋନରେ ସକ୍ରିୟ ଅଛି ନିଶ୍ଚିତ କରନ୍ତୁ।" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ଚିତ୍ରାଙ୍କନ" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ଇମୋଜିଗୁଡିକ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ସମ୍ପ୍ରତି" + diff --git a/po/pa.po b/po/pa.po index 86ac522..b0048cc 100644 --- a/po/pa.po +++ b/po/pa.po @@ -256,3 +256,11 @@ msgstr "ਗੇਅਰ ਇਨਪੁਟ" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ %s ਐਪ ਤੁਹਾਡੇ ਫ਼ੋਨ ਤੇ ਕਿਰਿਆਸ਼ੀਲ ਹੋਵੇ।" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ਡ੍ਰਾਇੰਗ" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ਇਮੋਜਿਸ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ਹਾਲ ਹੀ ਦੇ" \ No newline at end of file diff --git a/po/pl.po b/po/pl.po index 99b3b99..03fb001 100644 --- a/po/pl.po +++ b/po/pl.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Upewnij się, że aplikacja %s jest aktywna w telefonie." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Przekroczono maksymalną liczbę znaków (%d)." \ No newline at end of file +msgstr "Przekroczono maksymalną liczbę znaków (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Rysunek" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Ikony emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Ostatnie" \ No newline at end of file diff --git a/po/pl_SP.po b/po/pl_SP.po index 6a75493..067349f 100644 --- a/po/pl_SP.po +++ b/po/pl_SP.po @@ -256,3 +256,11 @@ msgstr "Wprowadzanie Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Upewnij się, że aplikacja %s jest aktywna w telefonie." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Szkryflōnek" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Ikōny emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Niydŏwne" \ No newline at end of file diff --git a/po/pt_BR.po b/po/pt_BR.po index 42cabcc..f0720b2 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Verifique se o aplicativo %s está ativo no telefone." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "O número máximo de caracteres (%d) foi excedido." \ No newline at end of file +msgstr "O número máximo de caracteres (%d) foi excedido." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Desenho" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recente" \ No newline at end of file diff --git a/po/pt_PT.po b/po/pt_PT.po index bf861e9..e7934ef 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Certifique-se de que a aplicação %s está activa no seu telefone." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Número máximo de caracteres (%d) excedido." \ No newline at end of file +msgstr "Número máximo de caracteres (%d) excedido." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Desenho" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recentes" \ No newline at end of file diff --git a/po/ro.po b/po/ro.po index f449e08..7dfb222 100644 --- a/po/ro.po +++ b/po/ro.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Asiguraţi-vă că aplicaţia %s este activă pe telefon." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "A fost depășit numărul maxim de caractere (%d)." \ No newline at end of file +msgstr "A fost depășit numărul maxim de caractere (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Desen" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Recente" \ No newline at end of file diff --git a/po/ru_RU.po b/po/ru_RU.po index f15c9d5..9a6d712 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "На телефоне должно быть запущено приложение %s." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Превышено максимальное число символов (%d)." \ No newline at end of file +msgstr "Превышено максимальное число символов (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Рисунок" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Эмодзи" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Последние" \ No newline at end of file diff --git a/po/si.po b/po/si.po index d737f4d..000a413 100644 --- a/po/si.po +++ b/po/si.po @@ -256,3 +256,11 @@ msgstr "ගියර් ආදානය" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "%s යෙදුම ඔබේ දුරකථනයේ සක්‍රිය වන බවට වග බලා ගන්න." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "චිත්‍රය" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ඉමෝජි" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "මෑතකාලීන" \ No newline at end of file diff --git a/po/sk.po b/po/sk.po index b805618..7ee13a9 100644 --- a/po/sk.po +++ b/po/sk.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Skontrolujte, či je v telefóne aktívna aplikácia %s." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Prekročil sa maximálny počet znakov (%d)." \ No newline at end of file +msgstr "Prekročil sa maximálny počet znakov (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Kresba" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emotikony" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Nedávne" \ No newline at end of file diff --git a/po/sl.po b/po/sl.po index 0c2b3dd..c817457 100644 --- a/po/sl.po +++ b/po/sl.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Preverite, ali je aplikacija %s aktivna v telefonu." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Največje dovoljeno število znakov (%d) je preseženo." \ No newline at end of file +msgstr "Največje dovoljeno število znakov (%d) je preseženo." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Risba" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emotikoni Emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Nedavni" \ No newline at end of file diff --git a/po/sq.po b/po/sq.po index 28b56fd..f4637e4 100644 --- a/po/sq.po +++ b/po/sq.po @@ -256,3 +256,11 @@ msgstr "Futja në Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Sigurohu që app-i %s është aktiv në telefon." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Vizatim" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emoji-t" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Së fundi" \ No newline at end of file diff --git a/po/sr.po b/po/sr.po index 21f2542..4790eb9 100644 --- a/po/sr.po +++ b/po/sr.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Proverite da li je aplikacija %s aktivna na telefonu." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Prekoračen je maksimalan broj karaktera (%d)." \ No newline at end of file +msgstr "Prekoračen je maksimalan broj karaktera (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Crtež" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emotikoni" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Nedavno" \ No newline at end of file diff --git a/po/sv.po b/po/sv.po index 0f60ae1..34cd98e 100644 --- a/po/sv.po +++ b/po/sv.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Se till att programmet %s är aktivt på telefonen." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Max antal tecken (%d) överskreds." \ No newline at end of file +msgstr "Max antal tecken (%d) överskreds." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Teckning" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojier" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Senaste" \ No newline at end of file diff --git a/po/ta.po b/po/ta.po index 1dc4899..37bdcd2 100644 --- a/po/ta.po +++ b/po/ta.po @@ -256,3 +256,11 @@ msgstr "கியர் உள்ளீடு" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "உங்கள் ஃபோனில் %s பயன்பாடு செயல்படுவதை உறுதிசெய்து கொள்ளவும்." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "வரைபடங்கள்" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "எமோஜிகள்" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "சமீபத்தியவை" \ No newline at end of file diff --git a/po/te.po b/po/te.po index 61fb3af..9a9398d 100644 --- a/po/te.po +++ b/po/te.po @@ -256,3 +256,11 @@ msgstr "గేర్ ఇన్‌పుట్" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "మీ ఫోన్‌లో %s అప్లికేషన్ సక్రియంగా ఉన్నట్లు నిర్ధారించుకోండి." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "డ్రాయింగ్" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ఎమోజీలు" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ఇటీవలివి" \ No newline at end of file diff --git a/po/tg_TJ.po b/po/tg_TJ.po index a3abce6..6a21b45 100644 --- a/po/tg_TJ.po +++ b/po/tg_TJ.po @@ -256,3 +256,11 @@ msgstr "Вуруди Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Боварӣ ҳосил кунед, ки барномаи %s дар телефон фаъол аст." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Нақша" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Эмоҷиҳо" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Охирин" \ No newline at end of file diff --git a/po/th.po b/po/th.po index 18fc642..9e77f52 100644 --- a/po/th.po +++ b/po/th.po @@ -256,3 +256,11 @@ msgstr "อินพุต Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "ตรวจสอบให้แน่ใจว่าแอพ %s ทำงานอยู่ในโทรศัพท์ของคุณ" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "รูปวาด" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "อีโมจิ" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "ไม่นานมานี้" \ No newline at end of file diff --git a/po/tk_TM.po b/po/tk_TM.po index 788334d..7a92bd7 100644 --- a/po/tk_TM.po +++ b/po/tk_TM.po @@ -256,3 +256,11 @@ msgstr "Gear giriziş" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Telefonda %s goýmasy işjeň dursun." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Çyzgy" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojiler" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Soňky" \ No newline at end of file diff --git a/po/tl.po b/po/tl.po index fc49caa..6297468 100644 --- a/po/tl.po +++ b/po/tl.po @@ -256,3 +256,11 @@ msgstr "Input ng Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Tiyakin na tumatakbo ang %s app sa telepono mo." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Drawing" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Mga emoji" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Kamakailan" \ No newline at end of file diff --git a/po/tr_TR.po b/po/tr_TR.po index a915b97..5b3e974 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "%s uygulamasının telefonunuzda etkin olduğundan emin olun." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Maksimum karakter sayısı (%d) aşıldı." \ No newline at end of file +msgstr "Maksimum karakter sayısı (%d) aşıldı." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Çizim" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojiler" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Son kullanılan" \ No newline at end of file diff --git a/po/uk.po b/po/uk.po index 7619449..a86ac1d 100644 --- a/po/uk.po +++ b/po/uk.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "На телефоні потрібно відкрити програму %s." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Перевищено максимальну кількість символів (%d)." \ No newline at end of file +msgstr "Перевищено максимальну кількість символів (%d)." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Малюнок" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Емодзі" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Останні" \ No newline at end of file diff --git a/po/ur.po b/po/ur.po index 8b924b0..8789927 100644 --- a/po/ur.po +++ b/po/ur.po @@ -256,3 +256,11 @@ msgstr "گیئر ان پٹ" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "یقینی بنائیں کہ %s ایپلیکیشن آپ کے فون میں فعال ہے۔" +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "ڈرائنگ" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "ایموجیز" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "حالیہ" \ No newline at end of file diff --git a/po/uz.po b/po/uz.po index d29f33a..9572d68 100644 --- a/po/uz.po +++ b/po/uz.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Telefonda %s ilovasi yoqilganligiga ishonch hosil qiling." msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "Belgilar soni maksimal miqdordan (%d) oshib ketdi." \ No newline at end of file +msgstr "Belgilar soni maksimal miqdordan (%d) oshib ketdi." + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Chizish" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojilar" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Oxirgi" \ No newline at end of file diff --git a/po/vi.po b/po/vi.po index b6f9a45..8552907 100644 --- a/po/vi.po +++ b/po/vi.po @@ -256,3 +256,11 @@ msgstr "Nhập trên Gear" msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "Hãy đảm bảo ứng dụng %s đang chạy trên điện thoại." +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "Hình vẽ" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "Emojis" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "Gần đây" \ No newline at end of file diff --git a/po/zh_CN.po b/po/zh_CN.po index 15551c6..a1f1f2a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "请确保 %s 应用程序已在您的手机上运行。" msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "已超过字符数上限 (%d)。" \ No newline at end of file +msgstr "已超过字符数上限 (%d)。" + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "绘画" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "表情符号" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "最近记录" \ No newline at end of file diff --git a/po/zh_HK.po b/po/zh_HK.po index 0078af9..cb500de 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "請確保 %s 應用程式已在手機上啟動。" msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "已超過字元數目上限 (%d)。" \ No newline at end of file +msgstr "已超過字元數目上限 (%d)。" + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "繪製" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "表情文字" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "最近" \ No newline at end of file diff --git a/po/zh_TW.po b/po/zh_TW.po index a798590..e96e11f 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -257,4 +257,13 @@ msgid "WDS_WMGR_POP_MAKE_SURE_THE_PS_APP_IS_ACTIVE_ON_YOUR_PHONE" msgstr "請確認手機上已執行 %s 應用程式。" msgid "WDS_MSG_BODY_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_EXCEEDED" -msgstr "已超過字數上限 (%d)。" \ No newline at end of file +msgstr "已超過字數上限 (%d)。" + +msgid "WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB" +msgstr "繪圖" + +msgid "WDS_IME_HEADER_EMOJIS_ABB" +msgstr "表情符號" + +msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" +msgstr "最近" \ No newline at end of file diff --git a/src/w-input-emoticon.cpp b/src/w-input-emoticon.cpp index 2a19150..8ffd747 100755 --- a/src/w-input-emoticon.cpp +++ b/src/w-input-emoticon.cpp @@ -918,7 +918,7 @@ void _update_emoticon_items(void *data) // Drawing if (app_data->mime_type == MIME_TYPE_ALL) { - it_drawing = elm_genlist_item_append(gl, itc_1text_1icon, "Doodle", NULL, ELM_GENLIST_ITEM_NONE, _drawing_item_clicked_cb, (void *)app_data); + it_drawing = elm_genlist_item_append(gl, itc_1text_1icon, (void*)"WDS_IME_MBODY_DRAWING_M_EMOTICON_ABB", NULL, ELM_GENLIST_ITEM_NONE, _drawing_item_clicked_cb, (void *)app_data); first_it = it_drawing; } @@ -928,7 +928,7 @@ void _update_emoticon_items(void *data) } // Group Recents - it_emoticon_recent_group = elm_genlist_item_append(gl, itc_group, (void*)"IDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB", NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)2); + it_emoticon_recent_group = elm_genlist_item_append(gl, itc_group, (void*)"WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB", NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)2); elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); if (first_it == NULL) first_it = it_emoticon_recent_group; @@ -942,7 +942,7 @@ void _update_emoticon_items(void *data) } // Group Emoticons - it_emoticon_emoji_group = elm_genlist_item_append(gl, itc_group, (void*)"IDS_IME_HEADER_EMOJIS_ABB", NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)2); + it_emoticon_emoji_group = elm_genlist_item_append(gl, itc_group, (void*)"WDS_IME_HEADER_EMOJIS_ABB", NULL, ELM_GENLIST_ITEM_NONE, NULL, (void *)2); elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY); if (first_it == NULL) first_it = it_emoticon_emoji_group; diff --git a/src/w-input-keyboard.cpp b/src/w-input-keyboard.cpp index cbb816d..0d7afa8 100755 --- a/src/w-input-keyboard.cpp +++ b/src/w-input-keyboard.cpp @@ -34,7 +34,7 @@ bool input_keyboard_init(app_control_h app_control) int ret = -1; char *default_text = NULL; char *guide_text = NULL; - char *return_key_type = (char *)"SEND"; + char *return_key_type = _("IDS_AMEMO_BUTTON_SEND"); char *max_text_length = NULL; char *cursor_position_set = (char *)"0"; @@ -77,7 +77,7 @@ void input_keyboard_deinit(void) g_input_keyboard_data.default_text = NULL; g_input_keyboard_data.guide_text = NULL; - g_input_keyboard_data.return_key_type = (char *)"SEND"; + g_input_keyboard_data.return_key_type = _("IDS_AMEMO_BUTTON_SEND"); g_input_keyboard_data.max_text_length = KEYBOARD_EDITOR_CHAR_COUNT_MAX; g_input_keyboard_data.cursor_position_set = 0; diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 53576e0..a9f33b9 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -710,15 +710,6 @@ static void _item_position_changed_cb(void *data, Evas_Object *obj, void *event_ } } -static char * -_main_menu_title_text_get(void *data, Evas_Object *obj, const char *part) -{ - char buf[1024]; - - snprintf(buf, 1023, "%s", "Select method"); - return strdup(buf); -} - void _create_genlist_items(void* user_data) { App_Data* app_data = (App_Data*) user_data; @@ -732,8 +723,8 @@ void _create_genlist_items(void* user_data) elm_genlist_clear(app_data->genlist); Elm_Genlist_Item_Class * itc0 = elm_genlist_item_class_new(); - itc0->item_style = "title"; - itc0->func.text_get = _main_menu_title_text_get; + itc0->item_style = NULL; + itc0->func.text_get = NULL; itc0->func.content_get = NULL; itc0->func.state_get = NULL; itc0->func.del = NULL; -- 2.7.4 From 588163ca8386f6b7b595939b770af4e12db75e61 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Wed, 11 Oct 2017 16:20:58 +0900 Subject: [PATCH 12/16] Update package version 0.1.171011 Change-Id: Icd59fafdf07f1a8386fbfdce5224a4786cda782a Signed-off-by: sungwook79.park --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index 0d10d47..4ce9878 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index 7655775..ca08284 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.170920 +Version: 0.1.171011 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From d70e7d6263f49dc8b8433b8b5f42b325f42ae18e Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Fri, 13 Oct 2017 15:42:03 +0900 Subject: [PATCH 13/16] Fix issue that showed wrong discard message popup for voice input Change-Id: I31ef9cb4c0bf852b8d9fcd9931859664bfa323e4 Signed-off-by: sungwook79.park --- po/ar.po | 5 ++++- po/as.po | 5 ++++- po/az.po | 5 ++++- po/be_BY.po | 5 ++++- po/bg.po | 5 ++++- po/bn.po | 5 ++++- po/bn_BD.po | 5 ++++- po/ca.po | 3 +++ po/cs.po | 3 +++ po/da.po | 3 +++ po/de.po | 5 ++++- po/el_GR.po | 5 ++++- po/en.po | 3 +++ po/en_PH.po | 5 ++++- po/en_US.po | 5 ++++- po/es_ES.po | 5 ++++- po/es_US.po | 5 ++++- po/et.po | 5 ++++- po/eu.po | 5 ++++- po/fa.po | 5 ++++- po/fi.po | 5 ++++- po/fr.po | 5 ++++- po/fr_CA.po | 5 ++++- po/ga.po | 5 ++++- po/gl.po | 5 ++++- po/gu.po | 5 ++++- po/he.po | 5 ++++- po/hi.po | 5 ++++- po/hr.po | 5 ++++- po/hu.po | 5 ++++- po/hy.po | 5 ++++- po/id.po | 5 ++++- po/is.po | 3 +++ po/it_IT.po | 5 ++++- po/ja_JP.po | 5 ++++- po/ka.po | 5 ++++- po/kk.po | 3 +++ po/km.po | 5 ++++- po/kn.po | 5 ++++- po/ko_KR.po | 5 ++++- po/ky_KG.po | 5 ++++- po/lo.po | 5 ++++- po/lt.po | 5 ++++- po/lv.po | 5 ++++- po/mk.po | 5 ++++- po/ml.po | 5 ++++- po/mn_MN.po | 5 ++++- po/mr.po | 5 ++++- po/ms.po | 5 ++++- po/my_MM.po | 5 ++++- po/my_ZG.po | 5 ++++- po/nb.po | 5 ++++- po/ne.po | 3 +++ po/nl.po | 3 +++ po/or.po | 2 ++ po/pa.po | 5 ++++- po/pl.po | 5 ++++- po/pl_SP.po | 5 ++++- po/pt_BR.po | 5 ++++- po/pt_PT.po | 5 ++++- po/ro.po | 5 ++++- po/ru_RU.po | 5 ++++- po/si.po | 5 ++++- po/sk.po | 5 ++++- po/sl.po | 5 ++++- po/sq.po | 5 ++++- po/sr.po | 5 ++++- po/sv.po | 5 ++++- po/ta.po | 5 ++++- po/te.po | 5 ++++- po/tg_TJ.po | 5 ++++- po/th.po | 5 ++++- po/tk_TM.po | 5 ++++- po/tl.po | 5 ++++- po/tr_TR.po | 5 ++++- po/uk.po | 5 ++++- po/ur.po | 5 ++++- po/uz.po | 5 ++++- po/vi.po | 5 ++++- po/zh_CN.po | 5 ++++- po/zh_HK.po | 5 ++++- po/zh_TW.po | 5 ++++- res/mobile/images/tw_ic_popup_btn_check.png | Bin 0 -> 1392 bytes res/mobile/images/tw_ic_popup_btn_delete.png | Bin 0 -> 1457 bytes res/tv/images/tw_ic_popup_btn_check.png | Bin 0 -> 1392 bytes res/tv/images/tw_ic_popup_btn_delete.png | Bin 0 -> 1457 bytes res/wearable/images/tw_ic_popup_btn_check.png | Bin 0 -> 1392 bytes res/wearable/images/tw_ic_popup_btn_delete.png | Bin 0 -> 1457 bytes src/MoreOption.cpp | 9 +++++++-- 89 files changed, 325 insertions(+), 75 deletions(-) create mode 100644 res/mobile/images/tw_ic_popup_btn_check.png create mode 100644 res/mobile/images/tw_ic_popup_btn_delete.png create mode 100644 res/tv/images/tw_ic_popup_btn_check.png create mode 100644 res/tv/images/tw_ic_popup_btn_delete.png create mode 100644 res/wearable/images/tw_ic_popup_btn_check.png create mode 100644 res/wearable/images/tw_ic_popup_btn_delete.png diff --git a/po/ar.po b/po/ar.po index c6b1212..a4e665b 100644 --- a/po/ar.po +++ b/po/ar.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "رموز الإيموجي" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "الحديثة" \ No newline at end of file +msgstr "الحديثة" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "سيتم تجاهل كلّ التغييرات." \ No newline at end of file diff --git a/po/as.po b/po/as.po index 9efef62..46df79b 100644 --- a/po/as.po +++ b/po/as.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ইম'জিচ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "শেহতীয়া" \ No newline at end of file +msgstr "শেহতীয়া" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "সকলো পৰিৱৰ্তন পৰিত্যাগ কৰা হ'ব৷" \ No newline at end of file diff --git a/po/az.po b/po/az.po index 0104414..529d284 100644 --- a/po/az.po +++ b/po/az.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emosiyalar" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Sonuncu" \ No newline at end of file +msgstr "Sonuncu" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Bütün dəyişikliklər silinəcək." \ No newline at end of file diff --git a/po/be_BY.po b/po/be_BY.po index cee5d9d..c69f609 100644 --- a/po/be_BY.po +++ b/po/be_BY.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Эмодзі" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Апошнія" \ No newline at end of file +msgstr "Апошнія" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Усе змены будуць скасаваны." \ No newline at end of file diff --git a/po/bg.po b/po/bg.po index cb56345..3c101cd 100644 --- a/po/bg.po +++ b/po/bg.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Емоджи" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Последни" \ No newline at end of file +msgstr "Последни" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Всички промени ще бъдат отхвърлени." \ No newline at end of file diff --git a/po/bn.po b/po/bn.po index 1c71b54..9ad04e5 100644 --- a/po/bn.po +++ b/po/bn.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ইমোজিগুলি" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "সাম্প্রতিক" \ No newline at end of file +msgstr "সাম্প্রতিক" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "সমস্ত পরিবর্তন পরিত্যাগ করা হবে।" \ No newline at end of file diff --git a/po/bn_BD.po b/po/bn_BD.po index 4333ba8..6fa6555 100644 --- a/po/bn_BD.po +++ b/po/bn_BD.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ইমোজি" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "সাম্প্রতিক" \ No newline at end of file +msgstr "সাম্প্রতিক" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "সব পরিবর্তন পরিত্যাগ করা হবে।" \ No newline at end of file diff --git a/po/ca.po b/po/ca.po index 8d239f0..b3bd870 100644 --- a/po/ca.po +++ b/po/ca.po @@ -241,6 +241,9 @@ msgstr "Gat" msgid "IDS_IME_BODY_CHICKEN_M_EMOTICON_NAME" msgstr "Pollastre" +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Es descartaran tots els canvis." + msgid "IDS_IME_BODY_SPOUTING_WHALE_M_EMOTICON_NAME" msgstr "Balena llençant aigua" diff --git a/po/cs.po b/po/cs.po index 510f3d6..14086bc 100644 --- a/po/cs.po +++ b/po/cs.po @@ -241,6 +241,9 @@ msgstr "Kočka" msgid "IDS_IME_BODY_CHICKEN_M_EMOTICON_NAME" msgstr "Kuře" +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Všechny změny budou zrušeny." + msgid "IDS_IME_BODY_SPOUTING_WHALE_M_EMOTICON_NAME" msgstr "Tryskající velryba" diff --git a/po/da.po b/po/da.po index e12802f..924b197 100644 --- a/po/da.po +++ b/po/da.po @@ -267,3 +267,6 @@ msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Seneste" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Alle ændringer bliver kasseret." diff --git a/po/de.po b/po/de.po index 2ef749e..a05ffe2 100644 --- a/po/de.po +++ b/po/de.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Kürzlich verwendet" \ No newline at end of file +msgstr "Kürzlich verwendet" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Alle Änderungen werden verworfen." \ No newline at end of file diff --git a/po/el_GR.po b/po/el_GR.po index 00de586..803d24b 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Πρόσφατα" \ No newline at end of file +msgstr "Πρόσφατα" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Όλες οι αλλαγές θα απορριφθούν." \ No newline at end of file diff --git a/po/en.po b/po/en.po index 6e54d98..b5754fd 100644 --- a/po/en.po +++ b/po/en.po @@ -241,6 +241,9 @@ msgstr "Cat" msgid "IDS_IME_BODY_CHICKEN_M_EMOTICON_NAME" msgstr "Chicken" +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "All changes will be discarded." + msgid "IDS_IME_BODY_SPOUTING_WHALE_M_EMOTICON_NAME" msgstr "Spouting whale" diff --git a/po/en_PH.po b/po/en_PH.po index ac8d93e..218e992 100644 --- a/po/en_PH.po +++ b/po/en_PH.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recent" \ No newline at end of file +msgstr "Recent" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "All changes will be discarded." \ No newline at end of file diff --git a/po/en_US.po b/po/en_US.po index af8cf0c..345353c 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -272,4 +272,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recent" \ No newline at end of file +msgstr "Recent" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "All changes will be discarded." \ No newline at end of file diff --git a/po/es_ES.po b/po/es_ES.po index eeb7899..6a1350d 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recientes" \ No newline at end of file +msgstr "Recientes" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Se descartarán todos los cambios." \ No newline at end of file diff --git a/po/es_US.po b/po/es_US.po index d132ac1..875be71 100644 --- a/po/es_US.po +++ b/po/es_US.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recientes" \ No newline at end of file +msgstr "Recientes" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Se descartarán los cambios." \ No newline at end of file diff --git a/po/et.po b/po/et.po index 9c81f0d..11bddb4 100644 --- a/po/et.po +++ b/po/et.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji ikoonid" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Hiljutised" \ No newline at end of file +msgstr "Hiljutised" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Kõikidest muudatustest loobutakse." \ No newline at end of file diff --git a/po/eu.po b/po/eu.po index c7b9add..27869c3 100644 --- a/po/eu.po +++ b/po/eu.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emotikonoak" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Azkenak" \ No newline at end of file +msgstr "Azkenak" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Aldaketa guztiak baztertuko dira." \ No newline at end of file diff --git a/po/fa.po b/po/fa.po index 06d4660..5c3ebc4 100644 --- a/po/fa.po +++ b/po/fa.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "نمادهای احساسی" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "اخیر" \ No newline at end of file +msgstr "اخیر" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "همه تغییرات کنار گذاشته می‌شوند." \ No newline at end of file diff --git a/po/fi.po b/po/fi.po index 2e75664..54798b0 100644 --- a/po/fi.po +++ b/po/fi.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojit" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Uusimmat" \ No newline at end of file +msgstr "Uusimmat" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Kaikki muutokset hylätään." \ No newline at end of file diff --git a/po/fr.po b/po/fr.po index 5f754a2..b616a63 100644 --- a/po/fr.po +++ b/po/fr.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Récents" \ No newline at end of file +msgstr "Récents" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Toutes les modifications vont être ignorées." \ No newline at end of file diff --git a/po/fr_CA.po b/po/fr_CA.po index 8d8655b..8fddc56 100644 --- a/po/fr_CA.po +++ b/po/fr_CA.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Récents" \ No newline at end of file +msgstr "Récents" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Toutes les modifications vont être ignorées." \ No newline at end of file diff --git a/po/ga.po b/po/ga.po index 27e3015..6d4ee17 100644 --- a/po/ga.po +++ b/po/ga.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Le déanaí" \ No newline at end of file +msgstr "Le déanaí" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Cuileálfar gach athrú." \ No newline at end of file diff --git a/po/gl.po b/po/gl.po index a8bd345..17d025d 100644 --- a/po/gl.po +++ b/po/gl.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recente" \ No newline at end of file +msgstr "Recente" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Descartaranse todos os cambios." \ No newline at end of file diff --git a/po/gu.po b/po/gu.po index 7f8ec53..59eec07 100644 --- a/po/gu.po +++ b/po/gu.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ઇમોજીસ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "તાજેતરનું" \ No newline at end of file +msgstr "તાજેતરનું" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "બધા ફેરફારો કાઢી નાખવામાં આવશે." \ No newline at end of file diff --git a/po/he.po b/po/he.po index 29bf181..927968b 100644 --- a/po/he.po +++ b/po/he.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "סמלי אימוג'י" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "אחרונים" \ No newline at end of file +msgstr "אחרונים" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "כל השינויים יושלכו." \ No newline at end of file diff --git a/po/hi.po b/po/hi.po index 77088e2..b8957d5 100644 --- a/po/hi.po +++ b/po/hi.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "इमोजिस" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "हाल ही" \ No newline at end of file +msgstr "हाल ही" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "सभी बदलाव निरस्त कर दिए जाएँगें।" \ No newline at end of file diff --git a/po/hr.po b/po/hr.po index 82a32e1..b97e2a9 100644 --- a/po/hr.po +++ b/po/hr.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emotikoni" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Nedavno" \ No newline at end of file +msgstr "Nedavno" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Sve će se promjene odbaciti." \ No newline at end of file diff --git a/po/hu.po b/po/hu.po index 70e43ff..fdbf5e1 100644 --- a/po/hu.po +++ b/po/hu.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojik" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Legutóbbi" \ No newline at end of file +msgstr "Legutóbbi" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Minden változtatást elvet." \ No newline at end of file diff --git a/po/hy.po b/po/hy.po index 20b4703..58c52d3 100644 --- a/po/hy.po +++ b/po/hy.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Էմոձիներ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Վերջերս" \ No newline at end of file +msgstr "Վերջերս" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Բոլոր փոփոխությունները կանտեսվեն:" \ No newline at end of file diff --git a/po/id.po b/po/id.po index 6311b1d..9029881 100644 --- a/po/id.po +++ b/po/id.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Terbaru" \ No newline at end of file +msgstr "Terbaru" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Semua perubahan akan dibuang." \ No newline at end of file diff --git a/po/is.po b/po/is.po index 1bd2143..58dbc3e 100644 --- a/po/is.po +++ b/po/is.po @@ -267,3 +267,6 @@ msgstr "Emoji-tákn" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Nýlegt" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Öllum breytingum verður fleygt." diff --git a/po/it_IT.po b/po/it_IT.po index cfbf965..1e940de 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recenti" \ No newline at end of file +msgstr "Recenti" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Ogni modifica sarà annullata." \ No newline at end of file diff --git a/po/ja_JP.po b/po/ja_JP.po index 831dcbe..c434352 100644 --- a/po/ja_JP.po +++ b/po/ja_JP.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "絵文字" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "最近使用した絵文字" \ No newline at end of file +msgstr "最近使用した絵文字" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "全ての変更を破棄します。" \ No newline at end of file diff --git a/po/ka.po b/po/ka.po index 9c0726e..3890712 100644 --- a/po/ka.po +++ b/po/ka.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "სიცილაკები" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "ბოლოდროის" \ No newline at end of file +msgstr "ბოლოდროის" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "ყველა ცვლილება გაუქმდება." \ No newline at end of file diff --git a/po/kk.po b/po/kk.po index f8e30c0..14fd2c1 100644 --- a/po/kk.po +++ b/po/kk.po @@ -267,3 +267,6 @@ msgstr "Смайликтер" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Соңғы" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Барлық өзгерістер алынып тасталады." diff --git a/po/km.po b/po/km.po index 3a83120..e79c361 100644 --- a/po/km.po +++ b/po/km.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "ថ្មីៗ" \ No newline at end of file +msgstr "ថ្មីៗ" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "នឹង​ចោល​ការប្ដូរ​ទាំងអស់។" \ No newline at end of file diff --git a/po/kn.po b/po/kn.po index 0570ecb..c4de3cd 100644 --- a/po/kn.po +++ b/po/kn.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ಎಮೋಜಿಗಳು" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "ಇತ್ತೀಚಿನ" \ No newline at end of file +msgstr "ಇತ್ತೀಚಿನ" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "ಎಲ್ಲ ಬದಲಾವಣೆಗಳನ್ನು ತ್ಯಜಿಸಲಾಗುವುದು." \ No newline at end of file diff --git a/po/ko_KR.po b/po/ko_KR.po index 79fbb48..7276b0e 100644 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "이모티콘" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "최근 보낸 이모티콘" \ No newline at end of file +msgstr "최근 보낸 이모티콘" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "변경사항을 저장하지 않습니다." \ No newline at end of file diff --git a/po/ky_KG.po b/po/ky_KG.po index cd404ed..3f8b33f 100644 --- a/po/ky_KG.po +++ b/po/ky_KG.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Эмоджилер" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Акыркы" \ No newline at end of file +msgstr "Акыркы" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Бардык өзгөртүүлөр четке кагылат." diff --git a/po/lo.po b/po/lo.po index 94deaf6..42626d8 100644 --- a/po/lo.po +++ b/po/lo.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ອີໂມຈີ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "ຫຼ້າສຸດ" \ No newline at end of file +msgstr "ຫຼ້າສຸດ" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "ການປ່ຽນແປງທັງໝົດຈະຖືກລຶບ." \ No newline at end of file diff --git a/po/lt.po b/po/lt.po index 849b0c0..4088d35 100644 --- a/po/lt.po +++ b/po/lt.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Jaustukai" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Naujausi" \ No newline at end of file +msgstr "Naujausi" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Visi pakeitimai bus panaikinti." \ No newline at end of file diff --git a/po/lv.po b/po/lv.po index da84ed7..152bfa8 100644 --- a/po/lv.po +++ b/po/lv.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emocijzīmes" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Jaunākās" \ No newline at end of file +msgstr "Jaunākās" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Visas izmaiņas tiks atmestas." \ No newline at end of file diff --git a/po/mk.po b/po/mk.po index 814d447..763f696 100644 --- a/po/mk.po +++ b/po/mk.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Емоџија" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Последни" \ No newline at end of file +msgstr "Последни" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Сите промени ќе се отфрлат." \ No newline at end of file diff --git a/po/ml.po b/po/ml.po index 6f216b8..7cceb24 100644 --- a/po/ml.po +++ b/po/ml.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ഇമോജികൾ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "സമീപകാലം" \ No newline at end of file +msgstr "സമീപകാലം" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "എല്ലാ മാറ്റങ്ങളും ഒഴിവാക്കപ്പെടും." \ No newline at end of file diff --git a/po/mn_MN.po b/po/mn_MN.po index 28a0052..5b290ba 100644 --- a/po/mn_MN.po +++ b/po/mn_MN.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Эможи" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Саяхан" \ No newline at end of file +msgstr "Саяхан" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Бүх өөрчлөлт орхигдоно." \ No newline at end of file diff --git a/po/mr.po b/po/mr.po index 4f52734..4e749fd 100644 --- a/po/mr.po +++ b/po/mr.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "इमोजीस" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "अलीकडील" \ No newline at end of file +msgstr "अलीकडील" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "सर्व बदल काढून टाकले जातील." \ No newline at end of file diff --git a/po/ms.po b/po/ms.po index da99eb4..510d3fa 100644 --- a/po/ms.po +++ b/po/ms.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Terkini" \ No newline at end of file +msgstr "Terkini" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Semua perubahan akan dibuang." \ No newline at end of file diff --git a/po/my_MM.po b/po/my_MM.po index 55ea20f..be1e445 100644 --- a/po/my_MM.po +++ b/po/my_MM.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ခံစားချက်ပြပုံများ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "လတ်တလော" \ No newline at end of file +msgstr "လတ်တလော" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "ပြောင်းလဲမှုများအားလုံးကို ဖယ်ထုတ်သွားမည်။" \ No newline at end of file diff --git a/po/my_ZG.po b/po/my_ZG.po index 3022b69..846c6d9 100644 --- a/po/my_ZG.po +++ b/po/my_ZG.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ခံစားခ်က္ျပပံုမ်ား" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "လတ္တေလာ" \ No newline at end of file +msgstr "လတ္တေလာ" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "ေျပာင္းလဲမႈမ်ားအားလုံးကို ဖယ္ထုတ္သြားမည္။" \ No newline at end of file diff --git a/po/nb.po b/po/nb.po index c3b5a26..1faf8fe 100644 --- a/po/nb.po +++ b/po/nb.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Humørikoner" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Nylige" \ No newline at end of file +msgstr "Nylige" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Alle endringer blir forkastet." \ No newline at end of file diff --git a/po/ne.po b/po/ne.po index 60cf322..f2b82ef 100644 --- a/po/ne.po +++ b/po/ne.po @@ -264,3 +264,6 @@ msgstr "इमोजीहरू" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "हालको" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "सबै परिवर्तनहरू खारेज गरिनेछ।" diff --git a/po/nl.po b/po/nl.po index 80708cc..cf939eb 100644 --- a/po/nl.po +++ b/po/nl.po @@ -267,3 +267,6 @@ msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recent" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Alle wijzigingen worden verwijderd." diff --git a/po/or.po b/po/or.po index 88220f6..fbf5f12 100644 --- a/po/or.po +++ b/po/or.po @@ -265,3 +265,5 @@ msgstr "ଇମୋଜିଗୁଡିକ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "ସମ୍ପ୍ରତି" +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "ସମସ୍ତ ପରିବର୍ତ୍ତନ ପ୍ରତ୍ୟାଖିତ ହେବ।" \ No newline at end of file diff --git a/po/pa.po b/po/pa.po index b0048cc..63848b9 100644 --- a/po/pa.po +++ b/po/pa.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ਇਮੋਜਿਸ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "ਹਾਲ ਹੀ ਦੇ" \ No newline at end of file +msgstr "ਹਾਲ ਹੀ ਦੇ" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "ਸਭ ਬਦਲਾਵ ਖਾਰਿਜ ਹੋ ਜਾਣਗੇ।" diff --git a/po/pl.po b/po/pl.po index 03fb001..93f83e6 100644 --- a/po/pl.po +++ b/po/pl.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Ikony emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Ostatnie" \ No newline at end of file +msgstr "Ostatnie" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Wszystkie zmiany zostaną odrzucone." \ No newline at end of file diff --git a/po/pl_SP.po b/po/pl_SP.po index 067349f..13018f9 100644 --- a/po/pl_SP.po +++ b/po/pl_SP.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Ikōny emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Niydŏwne" \ No newline at end of file +msgstr "Niydŏwne" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Wszyjske zmiany ôstanōm ôdciepniynte." \ No newline at end of file diff --git a/po/pt_BR.po b/po/pt_BR.po index f0720b2..1613923 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recente" \ No newline at end of file +msgstr "Recente" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Todas as alterações serão descartadas." \ No newline at end of file diff --git a/po/pt_PT.po b/po/pt_PT.po index e7934ef..f822221 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recentes" \ No newline at end of file +msgstr "Recentes" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "As alterações serão todas eliminadas." \ No newline at end of file diff --git a/po/ro.po b/po/ro.po index 7dfb222..9330101 100644 --- a/po/ro.po +++ b/po/ro.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Recente" \ No newline at end of file +msgstr "Recente" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Toate schimbările vor fi anulate." \ No newline at end of file diff --git a/po/ru_RU.po b/po/ru_RU.po index 9a6d712..9314dfc 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Эмодзи" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Последние" \ No newline at end of file +msgstr "Последние" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Все изменения будут отменены." \ No newline at end of file diff --git a/po/si.po b/po/si.po index 000a413..1adc3b1 100644 --- a/po/si.po +++ b/po/si.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ඉමෝජි" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "මෑතකාලීන" \ No newline at end of file +msgstr "මෑතකාලීන" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "වෙනස්කම් සියල්ල බැහැර කෙරෙනු ඇත." \ No newline at end of file diff --git a/po/sk.po b/po/sk.po index 7ee13a9..6505e22 100644 --- a/po/sk.po +++ b/po/sk.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emotikony" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Nedávne" \ No newline at end of file +msgstr "Nedávne" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Všetky zmeny sa zahodia." \ No newline at end of file diff --git a/po/sl.po b/po/sl.po index c817457..21593d9 100644 --- a/po/sl.po +++ b/po/sl.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emotikoni Emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Nedavni" \ No newline at end of file +msgstr "Nedavni" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Vse spremembe bodo zavržene." \ No newline at end of file diff --git a/po/sq.po b/po/sq.po index f4637e4..c9e3c2a 100644 --- a/po/sq.po +++ b/po/sq.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emoji-t" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Së fundi" \ No newline at end of file +msgstr "Së fundi" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Gjithë ndryshimet do shpërfillen." \ No newline at end of file diff --git a/po/sr.po b/po/sr.po index 4790eb9..c4ddb51 100644 --- a/po/sr.po +++ b/po/sr.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emotikoni" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Nedavno" \ No newline at end of file +msgstr "Nedavno" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Sve promene će biti odbačene." \ No newline at end of file diff --git a/po/sv.po b/po/sv.po index 34cd98e..21f3597 100644 --- a/po/sv.po +++ b/po/sv.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojier" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Senaste" \ No newline at end of file +msgstr "Senaste" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Alla ändringar ignoreras." \ No newline at end of file diff --git a/po/ta.po b/po/ta.po index 37bdcd2..c674a89 100644 --- a/po/ta.po +++ b/po/ta.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "எமோஜிகள்" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "சமீபத்தியவை" \ No newline at end of file +msgstr "சமீபத்தியவை" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "அனைத்து மாற்றங்களும் தவிர்க்கப்படும்." \ No newline at end of file diff --git a/po/te.po b/po/te.po index 9a9398d..2bbfd7d 100644 --- a/po/te.po +++ b/po/te.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ఎమోజీలు" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "ఇటీవలివి" \ No newline at end of file +msgstr "ఇటీవలివి" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "అన్ని మార్పులు విస్మరించబడతాయి." \ No newline at end of file diff --git a/po/tg_TJ.po b/po/tg_TJ.po index 6a21b45..5f74607 100644 --- a/po/tg_TJ.po +++ b/po/tg_TJ.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Эмоҷиҳо" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Охирин" \ No newline at end of file +msgstr "Охирин" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Ҳамаи тағйирот бекор карда мешавад." diff --git a/po/th.po b/po/th.po index 9e77f52..8614ef6 100644 --- a/po/th.po +++ b/po/th.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "อีโมจิ" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "ไม่นานมานี้" \ No newline at end of file +msgstr "ไม่นานมานี้" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "การ​เปลี่ยน​แปลง​ทั้ง​หมด​ จะ​ถูก​ละทิ้ง" \ No newline at end of file diff --git a/po/tk_TM.po b/po/tk_TM.po index 7a92bd7..3c8726b 100644 --- a/po/tk_TM.po +++ b/po/tk_TM.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojiler" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Soňky" \ No newline at end of file +msgstr "Soňky" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Ähli üýtgetmeler öçüriler." \ No newline at end of file diff --git a/po/tl.po b/po/tl.po index 6297468..66291c2 100644 --- a/po/tl.po +++ b/po/tl.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Mga emoji" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Kamakailan" \ No newline at end of file +msgstr "Kamakailan" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Idi-discard ang lahat ng pagbabago." \ No newline at end of file diff --git a/po/tr_TR.po b/po/tr_TR.po index 5b3e974..efde8b5 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojiler" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Son kullanılan" \ No newline at end of file +msgstr "Son kullanılan" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Tüm değişiklikler silinecek." \ No newline at end of file diff --git a/po/uk.po b/po/uk.po index a86ac1d..e06f4b0 100644 --- a/po/uk.po +++ b/po/uk.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Емодзі" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Останні" \ No newline at end of file +msgstr "Останні" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Усі зміни буде скасовано." \ No newline at end of file diff --git a/po/ur.po b/po/ur.po index 8789927..71109c0 100644 --- a/po/ur.po +++ b/po/ur.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "ایموجیز" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "حالیہ" \ No newline at end of file +msgstr "حالیہ" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "سبھی تبدیلیاں رد کردی جائیں گی۔" \ No newline at end of file diff --git a/po/uz.po b/po/uz.po index 9572d68..13d0506 100644 --- a/po/uz.po +++ b/po/uz.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojilar" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Oxirgi" \ No newline at end of file +msgstr "Oxirgi" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Barcha o‘zgartirishlar bekor qilinadi." \ No newline at end of file diff --git a/po/vi.po b/po/vi.po index 8552907..04d0431 100644 --- a/po/vi.po +++ b/po/vi.po @@ -263,4 +263,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "Emojis" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "Gần đây" \ No newline at end of file +msgstr "Gần đây" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "Mọi thay đổi sẽ không được lưu." \ No newline at end of file diff --git a/po/zh_CN.po b/po/zh_CN.po index a1f1f2a..8d1d026 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "表情符号" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "最近记录" \ No newline at end of file +msgstr "最近记录" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "将放弃全部更改。" \ No newline at end of file diff --git a/po/zh_HK.po b/po/zh_HK.po index cb500de..19d398b 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "表情文字" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "最近" \ No newline at end of file +msgstr "最近" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "將捨棄所有變更。" \ No newline at end of file diff --git a/po/zh_TW.po b/po/zh_TW.po index e96e11f..79900a1 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_EMOJIS_ABB" msgstr "表情符號" msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" -msgstr "最近" \ No newline at end of file +msgstr "最近" + +msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" +msgstr "將捨棄所有變更。" \ No newline at end of file diff --git a/res/mobile/images/tw_ic_popup_btn_check.png b/res/mobile/images/tw_ic_popup_btn_check.png new file mode 100644 index 0000000000000000000000000000000000000000..f20f62e7f8872c282aa2bb8135b3393de9dff42f GIT binary patch literal 1392 zcmbVMZA=?=7(aoHm&u?Sw6bZ=gJp@*-b=49cT(WEYgr@ZrEMH8e&BjN=%rk*-W|47 zRE8#2Hg)oWWeI}Gf*NCR(?pCirpdBpya;A7OSX)ez@~F!#QK6{!+3?3`GM?%m%ID_ z|IauP*+$`S^xk*p=%%G(N-k&>K;vw^M`&-0Z4kR23!EozIqp5!Fa$fk6RF)^Z{0id!v7Gb#%uY!KQT?pHu z9@WLdNXSx?NJ+ zr^GM>uB)gaJG2p0i@OP=C7B1!M#R7&78JDLMifT~oTvaX1VvyJgAuC%MM$%iL{Kn& zL7F!?&_;R~XWEx`vO_^tjgT-LjYf@8lTnh}VU!>U7{Oo+GiVwHr7NtmF+*4>%UED| zg_DJdDo9~4Ws&tuovIzuBHc(qjJVyKhQmslD2*~W#ztV&h`^$l%4=O)Q9b;Wt1L)sT(KnRcyim^Bd z6vs_w+<~KLt%ETW6y~&=EDVKPv5bwau!zZILl84X*lZMvI&h-4*6F}4gsIj{5EjIi z!MehV%7!^U<5$r9rm@6*u_P_?tSZSqN$SXSKvPgsB_$|DK-z0IqM)1Qgm6ldD$qv0 z3@-~W@d2kSiQqcJq_9N_qpW*XZ5V1@X1lADu`AD0dAh}}M|uZ~aw9?&_$2XCLa>wFa}!}))X_kMCsSu3^`RQAZz zr}l1NJ@8Q1W#Ij9UpbtZXj|UZ;(kinb)xJK6UOWg{Wbpj*N3|My}^scXwJy7g?ArJ zhDMXFtc0CDGc%l^XHf5n+jNxxoRkt@0rr_oxxv5tqxs;@H?AD%zVOj_sOJXWe15EZ z>P{YVs`>b84qKX>$f_Uyz5Hs!v-9mezaDyL@fl(A&Q7pl-1~?6_N0c#kZNwP|r;n;w|WU0S;JTJg=)KhWi9U`A_Od;bN2{Oh;? literal 0 HcmV?d00001 diff --git a/res/mobile/images/tw_ic_popup_btn_delete.png b/res/mobile/images/tw_ic_popup_btn_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..58de36c9192d1dc72e3689fd31d3338faa624cff GIT binary patch literal 1457 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s00+w{G(#^lGsVi;%)-dj(Z$)x&CuM?(AC7z+|1I|*~GxY z(ACt;%+(2|*Cju>G&eP`1g19yq1OecUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+dZnrq% zG!Lpb1-DzAaO%|uIz}H9wMbD769T3m5EGtofgE_!Pt60S_ab1zel}6*Cj$eMvZsq< zNX4x;H!r$72gC`a8Gy-QT%)Z(G^#^S`_KT>9?a&*$7f)U)w|%@wB%KQCt! z7ZCc#qQd^tA*kzlX#15VZW7wN6FyB~{Jly}Mb|J)t@K-L^`gfq0?ywyzY|H|yYc?k z@+KFB@SLi<&PFT^9n6PTDP2{c)cQsCpXYt$w)Pc)_o9?$tnogg*mPs*zrKi*Gqzve zQZ?a7LI=NOi*yHvntF$Yn}GGE&qdYo%g-*qwneJIp!*7kz5w@SXM;+1m&1u?q?bG@ zvx}3Tt;v$S#=4dBNGBHy>yblulx8gIv~U%Oj(hI7RVjIfx`(^!A&(gwx+k@4QDi;% z`uK$06Ok9Tee9oLdgALELAO@XFI$D4sRz3V%%1Rhf&7|#itFd>?{BVi>T!;mu<3y5 z(gjXEoMx=*62c6>nGW82y74fxLfWBB1D5k2Se{%;oGalNrcii-^|@5MxC_rmCe7RH zdJ7F!*Evo)Ay^@lc)TPuAw*%GqH0Rcl;+6!qDLI=D0HMYUhh!)tsgG&>g>ZwN3tbn zm~EPQCxCUK%MC-_uDOOsGYd2>l|M?D6=ztd>|!X&<-zXwg!A^&8=6H&vYB?}p5g5f zysiIPV&0d5{buU99PxNx%t&UUuuye5dG)>qG0Qk T^Uv(91Qnv5u6{1-oD!MuP*+$`S^xk*p=%%G(N-k&>K;vw^M`&-0Z4kR23!EozIqp5!Fa$fk6RF)^Z{0id!v7Gb#%uY!KQT?pHu z9@WLdNXSx?NJ+ zr^GM>uB)gaJG2p0i@OP=C7B1!M#R7&78JDLMifT~oTvaX1VvyJgAuC%MM$%iL{Kn& zL7F!?&_;R~XWEx`vO_^tjgT-LjYf@8lTnh}VU!>U7{Oo+GiVwHr7NtmF+*4>%UED| zg_DJdDo9~4Ws&tuovIzuBHc(qjJVyKhQmslD2*~W#ztV&h`^$l%4=O)Q9b;Wt1L)sT(KnRcyim^Bd z6vs_w+<~KLt%ETW6y~&=EDVKPv5bwau!zZILl84X*lZMvI&h-4*6F}4gsIj{5EjIi z!MehV%7!^U<5$r9rm@6*u_P_?tSZSqN$SXSKvPgsB_$|DK-z0IqM)1Qgm6ldD$qv0 z3@-~W@d2kSiQqcJq_9N_qpW*XZ5V1@X1lADu`AD0dAh}}M|uZ~aw9?&_$2XCLa>wFa}!}))X_kMCsSu3^`RQAZz zr}l1NJ@8Q1W#Ij9UpbtZXj|UZ;(kinb)xJK6UOWg{Wbpj*N3|My}^scXwJy7g?ArJ zhDMXFtc0CDGc%l^XHf5n+jNxxoRkt@0rr_oxxv5tqxs;@H?AD%zVOj_sOJXWe15EZ z>P{YVs`>b84qKX>$f_Uyz5Hs!v-9mezaDyL@fl(A&Q7pl-1~?6_N0c#kZNwP|r;n;w|WU0S;JTJg=)KhWi9U`A_Od;bN2{Oh;? literal 0 HcmV?d00001 diff --git a/res/tv/images/tw_ic_popup_btn_delete.png b/res/tv/images/tw_ic_popup_btn_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..58de36c9192d1dc72e3689fd31d3338faa624cff GIT binary patch literal 1457 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s00+w{G(#^lGsVi;%)-dj(Z$)x&CuM?(AC7z+|1I|*~GxY z(ACt;%+(2|*Cju>G&eP`1g19yq1OecUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+dZnrq% zG!Lpb1-DzAaO%|uIz}H9wMbD769T3m5EGtofgE_!Pt60S_ab1zel}6*Cj$eMvZsq< zNX4x;H!r$72gC`a8Gy-QT%)Z(G^#^S`_KT>9?a&*$7f)U)w|%@wB%KQCt! z7ZCc#qQd^tA*kzlX#15VZW7wN6FyB~{Jly}Mb|J)t@K-L^`gfq0?ywyzY|H|yYc?k z@+KFB@SLi<&PFT^9n6PTDP2{c)cQsCpXYt$w)Pc)_o9?$tnogg*mPs*zrKi*Gqzve zQZ?a7LI=NOi*yHvntF$Yn}GGE&qdYo%g-*qwneJIp!*7kz5w@SXM;+1m&1u?q?bG@ zvx}3Tt;v$S#=4dBNGBHy>yblulx8gIv~U%Oj(hI7RVjIfx`(^!A&(gwx+k@4QDi;% z`uK$06Ok9Tee9oLdgALELAO@XFI$D4sRz3V%%1Rhf&7|#itFd>?{BVi>T!;mu<3y5 z(gjXEoMx=*62c6>nGW82y74fxLfWBB1D5k2Se{%;oGalNrcii-^|@5MxC_rmCe7RH zdJ7F!*Evo)Ay^@lc)TPuAw*%GqH0Rcl;+6!qDLI=D0HMYUhh!)tsgG&>g>ZwN3tbn zm~EPQCxCUK%MC-_uDOOsGYd2>l|M?D6=ztd>|!X&<-zXwg!A^&8=6H&vYB?}p5g5f zysiIPV&0d5{buU99PxNx%t&UUuuye5dG)>qG0Qk T^Uv(91Qnv5u6{1-oD!MuP*+$`S^xk*p=%%G(N-k&>K;vw^M`&-0Z4kR23!EozIqp5!Fa$fk6RF)^Z{0id!v7Gb#%uY!KQT?pHu z9@WLdNXSx?NJ+ zr^GM>uB)gaJG2p0i@OP=C7B1!M#R7&78JDLMifT~oTvaX1VvyJgAuC%MM$%iL{Kn& zL7F!?&_;R~XWEx`vO_^tjgT-LjYf@8lTnh}VU!>U7{Oo+GiVwHr7NtmF+*4>%UED| zg_DJdDo9~4Ws&tuovIzuBHc(qjJVyKhQmslD2*~W#ztV&h`^$l%4=O)Q9b;Wt1L)sT(KnRcyim^Bd z6vs_w+<~KLt%ETW6y~&=EDVKPv5bwau!zZILl84X*lZMvI&h-4*6F}4gsIj{5EjIi z!MehV%7!^U<5$r9rm@6*u_P_?tSZSqN$SXSKvPgsB_$|DK-z0IqM)1Qgm6ldD$qv0 z3@-~W@d2kSiQqcJq_9N_qpW*XZ5V1@X1lADu`AD0dAh}}M|uZ~aw9?&_$2XCLa>wFa}!}))X_kMCsSu3^`RQAZz zr}l1NJ@8Q1W#Ij9UpbtZXj|UZ;(kinb)xJK6UOWg{Wbpj*N3|My}^scXwJy7g?ArJ zhDMXFtc0CDGc%l^XHf5n+jNxxoRkt@0rr_oxxv5tqxs;@H?AD%zVOj_sOJXWe15EZ z>P{YVs`>b84qKX>$f_Uyz5Hs!v-9mezaDyL@fl(A&Q7pl-1~?6_N0c#kZNwP|r;n;w|WU0S;JTJg=)KhWi9U`A_Od;bN2{Oh;? literal 0 HcmV?d00001 diff --git a/res/wearable/images/tw_ic_popup_btn_delete.png b/res/wearable/images/tw_ic_popup_btn_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..58de36c9192d1dc72e3689fd31d3338faa624cff GIT binary patch literal 1457 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s00+w{G(#^lGsVi;%)-dj(Z$)x&CuM?(AC7z+|1I|*~GxY z(ACt;%+(2|*Cju>G&eP`1g19yq1OecUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+dZnrq% zG!Lpb1-DzAaO%|uIz}H9wMbD769T3m5EGtofgE_!Pt60S_ab1zel}6*Cj$eMvZsq< zNX4x;H!r$72gC`a8Gy-QT%)Z(G^#^S`_KT>9?a&*$7f)U)w|%@wB%KQCt! z7ZCc#qQd^tA*kzlX#15VZW7wN6FyB~{Jly}Mb|J)t@K-L^`gfq0?ywyzY|H|yYc?k z@+KFB@SLi<&PFT^9n6PTDP2{c)cQsCpXYt$w)Pc)_o9?$tnogg*mPs*zrKi*Gqzve zQZ?a7LI=NOi*yHvntF$Yn}GGE&qdYo%g-*qwneJIp!*7kz5w@SXM;+1m&1u?q?bG@ zvx}3Tt;v$S#=4dBNGBHy>yblulx8gIv~U%Oj(hI7RVjIfx`(^!A&(gwx+k@4QDi;% z`uK$06Ok9Tee9oLdgALELAO@XFI$D4sRz3V%%1Rhf&7|#itFd>?{BVi>T!;mu<3y5 z(gjXEoMx=*62c6>nGW82y74fxLfWBB1D5k2Se{%;oGalNrcii-^|@5MxC_rmCe7RH zdJ7F!*Evo)Ay^@lc)TPuAw*%GqH0Rcl;+6!qDLI=D0HMYUhh!)tsgG&>g>ZwN3tbn zm~EPQCxCUK%MC-_uDOOsGYd2>l|M?D6=ztd>|!X&<-zXwg!A^&8=6H&vYB?}p5g5f zysiIPV&0d5{buU99PxNx%t&UUuuye5dG)>qG0Qk T^Uv(91Qnv5u6{1-oD!Mnaviframe); elm_object_style_set(popup, "circle"); -// uxt_popup_set_rotary_event_enabled(popup, EINA_TRUE); eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, popup_hide_cb, NULL); evas_object_smart_callback_add(popup, "dismissed", popup_hide_finished_cb, NULL); evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); layout = elm_layout_add(popup); elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2"); - elm_object_domain_translatable_part_text_set(layout, "elm.text", PACKAGE, "IDS_ST_SK_OK"); + elm_object_domain_translatable_part_text_set(layout, "elm.text", PACKAGE, "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED"); elm_object_content_set(popup, layout); evas_object_show(layout); -- 2.7.4 From d6cdfb7aa0e934f3ad11e505911cc0866c87262f Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Fri, 13 Oct 2017 16:27:50 +0900 Subject: [PATCH 14/16] Update package version to 0.1.171013 Change-Id: Ifcde571420a915641ee9ebfca546ecd113f9d1db Signed-off-by: sungwook79.park --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index 4ce9878..3dcc4a2 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index ca08284..d79f212 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.171011 +Version: 0.1.171013 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From e1925b93021c6b340e2e8175fd709cbe79c3a1bd Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Mon, 16 Oct 2017 15:46:54 +0900 Subject: [PATCH 15/16] Fix issue that can't select last item in genlist Change-Id: Iff8c9aa00409ab11a7cd72688c0d73b009d757ac Signed-off-by: sungwook79.park --- src/w-input-selector.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index a9f33b9..77e12c1 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -989,6 +989,20 @@ unsigned int _update_template_items(void *user_data) item_size++; } elm_genlist_item_class_free(itc); + + // dummy item for empty space + Elm_Genlist_Item_Class * itc0 = elm_genlist_item_class_new(); + itc0->item_style = "title"; + itc0->func.text_get = NULL; + itc0->func.content_get = NULL; + itc0->func.state_get = NULL; + itc0->func.del = NULL; + + it_empty = elm_genlist_item_append(app_data->genlist, itc0, + NULL, NULL, + ELM_GENLIST_ITEM_NONE, + NULL, NULL); + elm_genlist_item_class_free(itc0); } return item_size; -- 2.7.4 From ed8449eeec7aebf38e633f30640edd647faa61cc Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Tue, 17 Oct 2017 14:27:45 +0900 Subject: [PATCH 16/16] Update package version to 0.1.171017 Change-Id: I1179897cae4c0133f122746233bd3c0d9817f7b2 Signed-off-by: sungwook79.park --- org.tizen.inputdelegator.xml | 2 +- packaging/org.tizen.inputdelegator.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.tizen.inputdelegator.xml b/org.tizen.inputdelegator.xml index 3dcc4a2..b972f89 100755 --- a/org.tizen.inputdelegator.xml +++ b/org.tizen.inputdelegator.xml @@ -1,5 +1,5 @@ - + diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index d79f212..5fa6bd9 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -9,7 +9,7 @@ Name: org.tizen.inputdelegator Summary: Input Delegator Application -Version: 0.1.171013 +Version: 0.1.171017 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4