From c3fe22e4247c789ff4f999895078642887145767 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Mon, 23 Oct 2017 13:41:41 +0900 Subject: [PATCH 01/16] Support screen reader Change-Id: Ib7757d4686e67d1da49ff390ff193217a7032d7e Signed-off-by: sungwook79.park --- src/w-input-selector.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 23db269..51a15af 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -305,13 +305,22 @@ static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, if (!strcmp(first_input_type, "input_voice")) { elm_object_style_set(btn, "ime_button_stt"); path_ic = path + "images/w_mode_stt_ic.png"; + evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_IME_MBODY_VOICE_INPUT"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(first_input_type, "input_emoticon")) { elm_object_style_set(btn, "ime_button_emoticon"); path_ic = path + "images/Delta_w_mode_emoticon_ic.png"; + evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_HEADER_EMOTICON"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(first_input_type, "input_keyboard")) { elm_object_style_set(btn, "ime_button_keyboard"); path_ic = path + "images/w_mode_keyboard_ic.png"; evas_object_propagate_events_set(btn, EINA_FALSE); + evas_object_smart_callback_add(btn, "clicked", _keyboard_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_OPT_KEYBOARD"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } elm_image_file_set(ic, path_ic.c_str(), NULL); elm_object_content_set(btn, ic); @@ -321,13 +330,22 @@ static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, if (!strcmp(second_input_type, "input_voice")) { elm_object_style_set(btn, "ime_button_stt"); path_ic = path + "images/w_mode_stt_ic.png"; + evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_IME_MBODY_VOICE_INPUT"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(second_input_type, "input_emoticon")) { elm_object_style_set(btn, "ime_button_emoticon"); path_ic = path + "images/Delta_w_mode_emoticon_ic.png"; + evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_HEADER_EMOTICON"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(second_input_type, "input_keyboard")) { elm_object_style_set(btn, "ime_button_keyboard"); path_ic = path + "images/w_mode_keyboard_ic.png"; evas_object_propagate_events_set(btn, EINA_FALSE); + evas_object_smart_callback_add(btn, "clicked", _keyboard_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_OPT_KEYBOARD"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } elm_image_file_set(ic, path_ic.c_str(), NULL); elm_object_content_set(btn, ic); @@ -344,21 +362,33 @@ static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, evas_object_layer_set(btn, 32000); if (!strcmp(first_input_type, "input_voice")) { evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_IME_MBODY_VOICE_INPUT"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(first_input_type, "input_emoticon")) { evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_HEADER_EMOTICON"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(first_input_type, "input_keyboard")) { evas_object_propagate_events_set(btn, EINA_FALSE); evas_object_smart_callback_add(btn, "clicked", _keyboard_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_OPT_KEYBOARD"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } } else if (!strcmp(part, "elm.icon.2.touch_area")){ evas_object_layer_set(btn, 32000); if (!strcmp(second_input_type, "input_voice")) { evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_IME_MBODY_VOICE_INPUT"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(second_input_type, "input_emoticon")) { evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_HEADER_EMOTICON"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(second_input_type, "input_keyboard")) { evas_object_propagate_events_set(btn, EINA_FALSE); evas_object_smart_callback_add(btn, "clicked", _keyboard_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_OPT_KEYBOARD"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } } return btn; @@ -392,6 +422,9 @@ static Evas_Object * __ise_gl_3button_content_get(void *data, Evas_Object *obj, elm_image_file_set(ic, path_ic.c_str(), NULL); elm_object_content_set(btn, ic); evas_object_layer_set(btn, 32000); + evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_IME_MBODY_VOICE_INPUT"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(part, "elm.icon.2")){ elm_object_style_set(btn, "ime_button_emoticon"); @@ -399,6 +432,9 @@ static Evas_Object * __ise_gl_3button_content_get(void *data, Evas_Object *obj, elm_image_file_set(ic, path_ic.c_str(), NULL); elm_object_content_set(btn, ic); evas_object_layer_set(btn, 32000); + evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_HEADER_EMOTICON"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(part, "elm.icon.3")){ elm_object_style_set(btn, "ime_button_keyboard"); @@ -407,6 +443,9 @@ static Evas_Object * __ise_gl_3button_content_get(void *data, Evas_Object *obj, elm_object_content_set(btn, ic); evas_object_layer_set(btn, 32000); evas_object_propagate_events_set(btn, EINA_FALSE); + evas_object_smart_callback_add(btn, "clicked", _keyboard_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_OPT_KEYBOARD"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } return btn; @@ -419,14 +458,20 @@ static Evas_Object * __ise_gl_3button_content_get(void *data, Evas_Object *obj, if (!strcmp(part, "elm.icon.1.touch_area")) { evas_object_layer_set(btn, 32000); evas_object_smart_callback_add(btn, "clicked", _stt_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_IME_MBODY_VOICE_INPUT"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(part, "elm.icon.2.touch_area")){ evas_object_layer_set(btn, 32000); evas_object_smart_callback_add(btn, "clicked", _emoticon_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_HEADER_EMOTICON"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } else if (!strcmp(part, "elm.icon.3.touch_area")) { evas_object_layer_set(btn, 32000); evas_object_propagate_events_set(btn, EINA_FALSE); evas_object_smart_callback_add(btn, "clicked", _keyboard_clicked_cb, app_data); + elm_atspi_accessible_name_set(btn, "IDS_COM_OPT_KEYBOARD"); + elm_atspi_accessible_translation_domain_set(btn, PACKAGE); } return btn; -- 2.7.4 From 74f2cf16e8e8591f7ecee1e854e6a94a17442921 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Mon, 23 Oct 2017 17:45:25 +0900 Subject: [PATCH 02/16] Update package version to 0.1.171023 Change-Id: I9ba79fedb99ac06a62ead530638434bb27da6297 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 e55bf7c..2ff211c 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 7d1cc28..92a1380 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.171018 +Version: 0.1.171023 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From 0fb68a71c8b61f3a5fdf4599e31d130b1445f043 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Wed, 25 Oct 2017 18:37:44 +0900 Subject: [PATCH 03/16] Fix issue that voice recording file is crashed Change-Id: Ic17b9e6938dc62f93d84604bd3383e8cb1bef0f1 Signed-off-by: sungwook79.park --- src/voice-recorder.cpp | 2 +- src/w-input-stt-voice.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/voice-recorder.cpp b/src/voice-recorder.cpp index ef2c017..23139df 100644 --- a/src/voice-recorder.cpp +++ b/src/voice-recorder.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include "Debug.h" #include #include "voice-recorder.h" diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index 7ce7973..5e3f576 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -452,11 +452,13 @@ static void on_confirm_button_clicked_cb(void *data, Evas_Object *obj, void *eve } SECURE_LOGD("result_text = %s", result_text.c_str()); + stop_voice_recorder(); char *filePath = NULL; voice_recorder *vr = _voice_recorder_get_data(); - if (!vr) + if (vr) filePath = vr->file_path; + char *path[] = {filePath, }; reply_to_sender_by_callback(result_text.c_str(), "voice", (const char **)path, NULL); destroy_voice(); -- 2.7.4 From 6deb2316bca6f10829d936e18c1eb7369d91a453 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Tue, 31 Oct 2017 15:57:03 +0900 Subject: [PATCH 04/16] Update package version to 0.1.171031 Change-Id: I2ac6e65e062a8d4f88002338f39484af9c8e62be 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 2ff211c..4d7beed 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 92a1380..be73113 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.171023 +Version: 0.1.171031 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From 7472f9d27309359bd738e7e982e10d51a348c478 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 27 Dec 2017 15:13:39 +0900 Subject: [PATCH 05/16] Fix wrong compile flag Change-Id: Ic537c1785da9333d6f68091190bde4ca9e8f6829 Signed-off-by: Jihoon Kim --- packaging/org.tizen.inputdelegator.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/org.tizen.inputdelegator.spec b/packaging/org.tizen.inputdelegator.spec index be73113..9646506 100755 --- a/packaging/org.tizen.inputdelegator.spec +++ b/packaging/org.tizen.inputdelegator.spec @@ -128,7 +128,7 @@ wearable options. %setup -q %build -export CFLAGS_BASE="${CFLGAS} -DTIZEN_DEBUG_ENABLE -fvisibility=hidden" +export CFLAGS_BASE="${CFLAGS} -DTIZEN_DEBUG_ENABLE -fvisibility=hidden" export CXXFLAGS_BASE="${CXXFLAGS} -DTIZEN_DEBUG_ENABLE -std=c++11 -fvisibility-inlines-hidden" export FFLAGS+=" -DTIZEN_DEBUG_ENABLE" -- 2.7.4 From 537f75f3ec15cdb28f57b11e898b053e4f0afdf1 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Mon, 6 Nov 2017 19:39:10 +0900 Subject: [PATCH 06/16] Add STT preparing status screen in voice mode Change-Id: I99b115cb752a6a0087c322ad56350c3c080ab47f Signed-off-by: sungwook79.park --- inc/w-input-stt-voice.h | 1 + po/en_US.po | 5 ++++- po/ko_KR.po | 5 ++++- src/w-input-stt-voice.cpp | 8 ++++++-- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/inc/w-input-stt-voice.h b/inc/w-input-stt-voice.h index 7696789..5b0fb1f 100755 --- a/inc/w-input-stt-voice.h +++ b/inc/w-input-stt-voice.h @@ -32,6 +32,7 @@ #define SK_INIT "IDS_VOICE_BODY_TAP_MIC" #define SK_SPEAK_NOW "WDS_VOICE_NPBODY_SPEAK_NOW_ABB" +#define SK_SPEAK_PREPARE "WDS_VOICE_PREPARE_ABB" #define SK_RECOGNITION_FAILED "WDS_VOICE_TPOP_RECOGNITION_FAILED_ABB" #define SK_DOUBLE_TAP_TO_SPEAK "WDS_TTS_TBBODY_DOUBLE_TAP_TO_SPEAK" diff --git a/po/en_US.po b/po/en_US.po index 345353c..778baf4 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -275,4 +275,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recent" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "All changes will be discarded." \ No newline at end of file +msgstr "All changes will be discarded." + +msgid "WDS_VOICE_PREPARE_ABB" +msgstr "Preparing..." \ No newline at end of file diff --git a/po/ko_KR.po b/po/ko_KR.po index 7276b0e..ff1a694 100644 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -269,4 +269,7 @@ 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 +msgstr "변경사항을 저장하지 않습니다." + +msgid "WDS_VOICE_PREPARE_ABB" +msgstr "준비중 입니다..." diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index 5e3f576..c784536 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -635,7 +635,11 @@ static void set_cue_text(void *data) if(data) { VoiceData *voicedata = (VoiceData *) data; - elm_object_domain_translatable_part_text_set(voicedata->layout_main, "elm.text.cue", PACKAGE, SK_SPEAK_NOW); + if (voicedata->state == STT_STATE_VAL_INIT) { + elm_object_domain_translatable_part_text_set(voicedata->layout_main, "elm.text.cue", PACKAGE, SK_SPEAK_PREPARE); + } else { + 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"); } } @@ -681,7 +685,7 @@ void set_animation_state(VoiceData *voicedata) if (voicedata->state == STT_STATE_VAL_INIT) { if(voicedata->effector) voicedata->effector->Stop(true); - + set_cue_text(voicedata); expand_send_text(voicedata); powerLock((void*)voicedata, false); -- 2.7.4 From bf60631ae0f5a5db2e5edd30d139163a37a9888e Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Thu, 4 Jan 2018 17:05:06 +0900 Subject: [PATCH 07/16] Support to execute explicitly input_reply, input_recording, input_drawing with APP_CONTROL_DATA_INPUT_TYPE Change-Id: Ic5904686aec84e3fec820a280f4f262b892e4b9a Signed-off-by: sungwook79.park --- src/w-input-selector.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 51a15af..f23a596 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -828,12 +828,13 @@ void _create_genlist_items(void* user_data) ELM_GENLIST_ITEM_NONE, NULL, NULL); - // 3 Buttons - it_title = elm_genlist_item_append(app_data->genlist, itc1, - NULL, NULL, - ELM_GENLIST_ITEM_NONE, - NULL, NULL); - + if (app_data->app_type != APP_TYPE_REPLY) { + // 3 Buttons + it_title = elm_genlist_item_append(app_data->genlist, itc1, + NULL, NULL, + ELM_GENLIST_ITEM_NONE, + NULL, NULL); + } elm_genlist_item_select_mode_set(it_title, ELM_OBJECT_SELECT_MODE_NONE); g_template_item_size = _update_template_items(app_data); @@ -1277,6 +1278,10 @@ void _app_service(app_control_h service, void* user_data) app_data->app_type = APP_TYPE_STT; _stt_clicked_cb((void *)app_data, NULL, NULL); goto ACTIVATE; + } else if (!strcmp(context, "input_recording")) { + app_data->app_type = APP_TYPE_RECORDING; + _stt_clicked_cb((void *)app_data, NULL, NULL); + goto ACTIVATE; } else if (!strcmp(context, "input_emoticon")) { app_data->app_type = APP_TYPE_EMOTICON; _emoticon_clicked_cb((void *)app_data, NULL, NULL); @@ -1286,6 +1291,10 @@ void _app_service(app_control_h service, void* user_data) input_keyboard_init(service); _keyboard_clicked_cb((void *)app_data, NULL, NULL); goto ACTIVATE; + } else if (!strcmp(context, "input_drawing")) { + app_data->app_type = APP_TYPE_DRAWING; + _drawing_item_clicked_cb((void *)app_data, NULL, NULL); + goto ACTIVATE; } else if (!strcmp(context, "input_reply")) { app_data->app_type = APP_TYPE_REPLY; } -- 2.7.4 From 7c842ecfc058bca47c410e2f3a5d21c45d33db1f Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 5 Jan 2018 09:31:16 +0900 Subject: [PATCH 08/16] Fix memory leak Change-Id: I2ec22d8fcd6e48c9207cb4c7e8c41f5c9b8ef9d4 Signed-off-by: Jihoon Kim --- src/w-input-keyboard.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/w-input-keyboard.cpp b/src/w-input-keyboard.cpp index 0d7afa8..5e9ae09 100755 --- a/src/w-input-keyboard.cpp +++ b/src/w-input-keyboard.cpp @@ -36,7 +36,7 @@ bool input_keyboard_init(app_control_h app_control) char *guide_text = NULL; char *return_key_type = _("IDS_AMEMO_BUTTON_SEND"); char *max_text_length = NULL; - char *cursor_position_set = (char *)"0"; + char *cursor_position_set = NULL; input_keyboard_deinit(); @@ -55,10 +55,12 @@ bool input_keyboard_init(app_control_h app_control) ret = app_control_get_extra_data(app_control, "max_text_length", &max_text_length); if (ret == APP_CONTROL_ERROR_NONE) { g_input_keyboard_data.max_text_length = atoi(max_text_length); + free(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); + free(cursor_position_set); } return true; -- 2.7.4 From 1049bb777c61c19bab1c863be6327c68c8be8884 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Fri, 5 Jan 2018 10:01:15 +0900 Subject: [PATCH 09/16] Fix crash issue occured when terminating Change-Id: Iebaede363ab6667f453f5c6d9855a12171853b1d Signed-off-by: Jihoon Kim --- inc/w-input-selector.h | 9 +++++--- src/w-input-keyboard.cpp | 56 +++++++++++++++++++++++++----------------------- 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/inc/w-input-selector.h b/inc/w-input-selector.h index 7ff2ed2..cedcf17 100755 --- a/inc/w-input-selector.h +++ b/inc/w-input-selector.h @@ -44,6 +44,9 @@ #include #include #include +#include + +using namespace std; enum { APP_TYPE_SELECT_MODE = 1, @@ -114,9 +117,9 @@ typedef enum struct _InputKeyboardData { - char *guide_text; - char *default_text; - char *return_key_type; + string guide_text; + string default_text; + string return_key_type; int max_text_length; int cursor_position_set; }; diff --git a/src/w-input-keyboard.cpp b/src/w-input-keyboard.cpp index 5e9ae09..4e80c6c 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 = _("IDS_AMEMO_BUTTON_SEND"); + char *return_key_type = NULL; char *max_text_length = NULL; char *cursor_position_set = NULL; @@ -42,25 +42,38 @@ bool input_keyboard_init(app_control_h app_control) ret = app_control_get_extra_data(app_control, APP_CONTROL_DATA_INPUT_DEFAULT_TEXT, &default_text); if (ret == APP_CONTROL_ERROR_NONE) { - g_input_keyboard_data.default_text = default_text; + if (default_text) { + g_input_keyboard_data.default_text = string(default_text); + free(default_text); + } } ret = app_control_get_extra_data(app_control, APP_CONTROL_DATA_INPUT_GUIDE_TEXT, &guide_text); if (ret == APP_CONTROL_ERROR_NONE) { - g_input_keyboard_data.guide_text = guide_text; + if (guide_text) { + g_input_keyboard_data.guide_text = string(guide_text); + free(guide_text); + } } ret = app_control_get_extra_data(app_control, "return_key_type", &return_key_type); if (ret == APP_CONTROL_ERROR_NONE) { - g_input_keyboard_data.return_key_type = return_key_type; + if (return_key_type) { + g_input_keyboard_data.return_key_type = string(return_key_type); + free(return_key_type); + } } ret = app_control_get_extra_data(app_control, "max_text_length", &max_text_length); if (ret == APP_CONTROL_ERROR_NONE) { - g_input_keyboard_data.max_text_length = atoi(max_text_length); - free(max_text_length); + if (max_text_length) { + g_input_keyboard_data.max_text_length = atoi(max_text_length); + free(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); - free(cursor_position_set); + if (cursor_position_set) { + g_input_keyboard_data.cursor_position_set = atoi(cursor_position_set); + free(cursor_position_set); + } } return true; @@ -68,18 +81,7 @@ bool input_keyboard_init(app_control_h app_control) void input_keyboard_deinit(void) { - if (g_input_keyboard_data.guide_text) - free(g_input_keyboard_data.guide_text); - - if (g_input_keyboard_data.default_text) - free(g_input_keyboard_data.default_text); - - if (g_input_keyboard_data.return_key_type) - free(g_input_keyboard_data.return_key_type); - - g_input_keyboard_data.default_text = NULL; - g_input_keyboard_data.guide_text = NULL; - g_input_keyboard_data.return_key_type = _("IDS_AMEMO_BUTTON_SEND"); + g_input_keyboard_data.return_key_type = string(_("IDS_AMEMO_BUTTON_SEND")); g_input_keyboard_data.max_text_length = KEYBOARD_EDITOR_CHAR_COUNT_MAX; g_input_keyboard_data.cursor_position_set = 0; @@ -168,12 +170,12 @@ void create_fullscreen_editor(void *data) elm_entry_single_line_set(entry, EINA_TRUE); elm_entry_scrollable_set(entry, EINA_TRUE); elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - elm_object_part_text_set(entry, "elm.guide", g_input_keyboard_data.guide_text); - elm_entry_entry_set(entry, g_input_keyboard_data.default_text); + elm_object_part_text_set(entry, "elm.guide", g_input_keyboard_data.guide_text.c_str()); + elm_entry_entry_set(entry, g_input_keyboard_data.default_text.c_str()); elm_entry_cursor_end_set(entry); 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); - if (g_input_keyboard_data.return_key_type && strcmp(g_input_keyboard_data.return_key_type, "DONE") == 0) { + if (g_input_keyboard_data.return_key_type == string("DONE")) { 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); } @@ -184,7 +186,7 @@ void create_fullscreen_editor(void *data) elm_box_pack_end(box, entry); Evas_Object *btn = elm_button_add(box); - elm_object_text_set(btn, g_input_keyboard_data.return_key_type); + elm_object_text_set(btn, g_input_keyboard_data.return_key_type.c_str()); evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, 0.5); evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(btn, "clicked", btn_clicked_cb, NULL); @@ -234,12 +236,12 @@ static Evas_Object *create_multiline_editfield_layout(Evas_Object *parent, void elm_entry_scrollable_set(entry, EINA_TRUE); elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO); - elm_object_part_text_set(entry, "elm.guide", g_input_keyboard_data.guide_text); - elm_entry_entry_set(entry, g_input_keyboard_data.default_text); + elm_object_part_text_set(entry, "elm.guide", g_input_keyboard_data.guide_text.c_str()); + elm_entry_entry_set(entry, g_input_keyboard_data.default_text.c_str()); elm_entry_cursor_end_set(entry); evas_object_smart_callback_add(entry, "focused", editfield_focused_cb, editfield); evas_object_smart_callback_add(entry, "unfocused", editfield_unfocused_cb, editfield); - if (g_input_keyboard_data.return_key_type && strcmp(g_input_keyboard_data.return_key_type, "DONE") == 0) { + if (g_input_keyboard_data.return_key_type == string("DONE")) { 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); } -- 2.7.4 From 90a2dd2df01f1a230842e5d5d56b99d6606f94ce Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Tue, 9 Jan 2018 11:29:57 +0900 Subject: [PATCH 10/16] Support App-provided templates Change-Id: I4d8889f1dff1fd91783d371bc6c47e41bdcac061 Signed-off-by: sungwook79.park --- inc/w-input-selector.h | 7 +++ src/w-input-selector.cpp | 113 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+) diff --git a/inc/w-input-selector.h b/inc/w-input-selector.h index cedcf17..7d730a7 100755 --- a/inc/w-input-selector.h +++ b/inc/w-input-selector.h @@ -132,6 +132,13 @@ struct _InputTypeData }; typedef struct _InputTypeData InputTypeData; +struct _InputTemplateData +{ + char **input_template_array; + int input_template_array_len; +}; +typedef struct _InputTemplateData InputTemplateData; + 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[], const char *cursor_pos); diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index f23a596..077136f 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -41,6 +41,8 @@ App_Data* app_data = NULL; InputKeyboardData g_input_keyboard_data; InputTypeData g_input_type_data; +InputTemplateData g_input_template_data; + static Elm_Object_Item *it_empty; static Elm_Object_Item *it_title; @@ -93,6 +95,7 @@ void _create_header_items(void *user_data); void _update_genlist_items(void *user_data); unsigned int _update_smartreply_items(void *user_data); unsigned int _update_template_items(void *user_data); +unsigned int _update_user_template_items(void *user_data); static void _popup_close_cb(void *data, Evas_Object *obj, void *event_info); static void _popup_back_cb(void *data, Evas_Object *obj, void *event_info); static void input_type_deinit(void); @@ -246,6 +249,23 @@ static void __ise_template_gl_sel(void *data, Evas_Object *obj, void *event_info } } +static void __ise_user_template_gl_sel(void *data, Evas_Object *obj, void *event_info) +{ + Elm_Object_Item *item = (Elm_Object_Item *) event_info; + int index = 0; + + if (item) { + elm_genlist_item_selected_set(item, EINA_FALSE); + + index = (uintptr_t) elm_object_item_data_get(item); + + if (index < (int)g_input_template_data.input_template_array_len) { + reply_to_sender_by_callback(g_input_template_data.input_template_array[index], "user_template", NULL, NULL); + ui_app_exit(); + } + } +} + static char * __ise_template_gl_text_get(void *data, Evas_Object *obj, const char *part) { if (!strcmp(part, "elm.text")) { @@ -280,6 +300,19 @@ static char * __ise_template_gl_text_get(void *data, Evas_Object *obj, const cha return NULL; } +static char * __ise_user_template_gl_text_get(void *data, Evas_Object *obj, const char *part) +{ + if (!strcmp(part, "elm.text")) { + unsigned int index = (uintptr_t)data; + if (index < (unsigned int)g_input_template_data.input_template_array_len) { + if (g_input_template_data.input_template_array[index] != NULL) { + return strdup(g_input_template_data.input_template_array[index]); + } + } + } + return NULL; +} + static Evas_Object * __ise_gl_2button_content_get(void *data, Evas_Object *obj, const char *part) { char *first_input_type = *(g_input_type_data.input_type_array + 0); @@ -835,6 +868,7 @@ void _create_genlist_items(void* user_data) ELM_GENLIST_ITEM_NONE, NULL, NULL); } + elm_genlist_item_select_mode_set(it_title, ELM_OBJECT_SELECT_MODE_NONE); g_template_item_size = _update_template_items(app_data); @@ -903,6 +937,10 @@ void _update_genlist_items(void *user_data) g_template_item_size = _update_template_items(user_data); + if (g_input_template_data.input_template_array_len > 0) { + _update_user_template_items(user_data); + } + /* Update genlist item position */ Elm_Object_Item *item = elm_genlist_item_next_get(it_title); elm_genlist_item_show(item, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE); @@ -1108,6 +1146,75 @@ unsigned int _update_template_items(void *user_data) itc0->func.state_get = NULL; itc0->func.del = NULL; + if (g_input_template_data.input_template_array_len < 1) { + 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; +} + +unsigned int _update_user_template_items(void *user_data) +{ + App_Data* app_data; + + Elm_Object_Item *first; + + unsigned int i = 0; + unsigned int item_size = 0; + + app_data = (App_Data *)user_data; + + if (app_data == NULL) { + PRINTFUNC(DLOG_ERROR, "Can not get app_data"); + return item_size; + } + + if (app_data->genlist == NULL) { + /* smartreply will update when genlist is exist only */ + PRINTFUNC(DLOG_ERROR, "Can not get getlist"); + return item_size; + } + + first = elm_genlist_first_item_get(app_data->genlist); + if (first == NULL) + return 0; + + if (g_input_template_data.input_template_array_len > 0) { + Elm_Genlist_Item_Class *itc; + + itc = elm_genlist_item_class_new(); + + itc->item_style = "1text"; + itc->func.text_get = __ise_user_template_gl_text_get; + itc->func.content_get = NULL; + itc->func.state_get = NULL; + itc->func.del = NULL; + + for (i = 0; i < (unsigned int)g_input_template_data.input_template_array_len; i++) { + elm_genlist_item_append(app_data->genlist, + itc, + (void *)(uintptr_t)i, + NULL, + ELM_GENLIST_ITEM_NONE, + __ise_user_template_gl_sel, + app_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, @@ -1226,11 +1333,17 @@ void _app_service(app_control_h service, void* user_data) int input_type_array_len = -1; bool is_extra_data_array = false; char *mime_type = NULL; + char **user_template_array = NULL; + int user_template_array_len = -1; app_control_clone(&(app_data->source_app_control), service); app_data->reply_type = REPLY_APP_NORMAL; app_data->mime_type = MIME_TYPE_ALL; + ret = app_control_get_extra_data_array(service, "user_template", &user_template_array, &user_template_array_len); + g_input_template_data.input_template_array = user_template_array; + g_input_template_data.input_template_array_len = user_template_array_len; + ret = app_control_get_mime(service, &mime_type); if (ret != APP_CONTROL_ERROR_NONE) { LOGD("Fail to get mime type : %d", ret); -- 2.7.4 From f4e3fa4c12a47881ececda101e5834a1b84a158c Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Wed, 10 Jan 2018 18:40:04 +0900 Subject: [PATCH 11/16] Fix issue that showing drawing item when explicitly call with reply input type Change-Id: I56f3a151e7d4b954eba56db9d9ab86d94c2e52d6 Signed-off-by: sungwook79.park --- src/w-input-selector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index 077136f..f729ed0 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -1117,7 +1117,7 @@ unsigned int _update_template_items(void *user_data) elm_genlist_item_class_free(itc); // drawing button (+) - if (app_data->mime_type == MIME_TYPE_ALL) { + if (app_data->mime_type == MIME_TYPE_ALL && app_data->app_type == APP_TYPE_SELECT_MODE) { Elm_Genlist_Item_Class *itc; itc = elm_genlist_item_class_new(); -- 2.7.4 From 64a8fae4ffdd7d9447273be950c0e2c0d60e86f3 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Thu, 11 Jan 2018 09:36:05 +0900 Subject: [PATCH 12/16] Update package version to 0.1.180111 Change-Id: I5ed9d7d51a14135395e7abf3fc94193fe96596d5 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 4d7beed..a38791c 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 9646506..c77a6d9 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.171031 +Version: 0.1.180111 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4 From fb5c3e992607f7ab91a0ed8ba50f758767356d08 Mon Sep 17 00:00:00 2001 From: "sungwook79.park" Date: Wed, 17 Jan 2018 11:04:50 +0900 Subject: [PATCH 13/16] Add some sentence (preparing) to PO files Change-Id: I50650dd6da4017c035c55dc6430e811c02cb3c0c Signed-off-by: sungwook79.park --- inc/w-input-stt-voice.h | 2 +- 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 | 5 ++++- po/cs.po | 5 ++++- po/da.po | 4 ++++ po/de.po | 5 ++++- po/el_GR.po | 5 ++++- po/en.po | 5 ++++- po/en_PH.po | 5 ++++- po/en_US.po | 4 ++-- 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 | 4 ++++ po/it_IT.po | 5 ++++- po/ja_JP.po | 5 ++++- po/ka.po | 5 ++++- po/kk.po | 4 ++++ po/km.po | 5 ++++- po/kn.po | 5 ++++- po/ko_KR.po | 4 ++-- po/ky_KG.po | 4 ++++ 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 | 4 ++++ po/nl.po | 4 ++++ po/or.po | 5 ++++- po/pa.po | 4 ++++ 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 | 4 ++++ 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 ++++- 83 files changed, 325 insertions(+), 77 deletions(-) diff --git a/inc/w-input-stt-voice.h b/inc/w-input-stt-voice.h index 5b0fb1f..0ffa5a4 100755 --- a/inc/w-input-stt-voice.h +++ b/inc/w-input-stt-voice.h @@ -32,7 +32,7 @@ #define SK_INIT "IDS_VOICE_BODY_TAP_MIC" #define SK_SPEAK_NOW "WDS_VOICE_NPBODY_SPEAK_NOW_ABB" -#define SK_SPEAK_PREPARE "WDS_VOICE_PREPARE_ABB" +#define SK_SPEAK_PREPARE "WDS_IME_BODY_PREPARING_ING_ABB" #define SK_RECOGNITION_FAILED "WDS_VOICE_TPOP_RECOGNITION_FAILED_ABB" #define SK_DOUBLE_TAP_TO_SPEAK "WDS_TTS_TBBODY_DOUBLE_TAP_TO_SPEAK" diff --git a/po/ar.po b/po/ar.po index a4e665b..b166b27 100644 --- a/po/ar.po +++ b/po/ar.po @@ -269,4 +269,7 @@ 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 +msgstr "سيتم تجاهل كلّ التغييرات." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "جارٍ التحضير..." \ No newline at end of file diff --git a/po/as.po b/po/as.po index 46df79b..5710b7b 100644 --- a/po/as.po +++ b/po/as.po @@ -266,4 +266,7 @@ 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 +msgstr "সকলো পৰিৱৰ্তন পৰিত্যাগ কৰা হ'ব৷" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "প্ৰস্তুত কৰি আছে..." \ No newline at end of file diff --git a/po/az.po b/po/az.po index 529d284..9f3d9de 100644 --- a/po/az.po +++ b/po/az.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "Bütün dəyişikliklər silinəcək." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Hazırlanır..." \ No newline at end of file diff --git a/po/be_BY.po b/po/be_BY.po index c69f609..2afbf4c 100644 --- a/po/be_BY.po +++ b/po/be_BY.po @@ -266,4 +266,7 @@ 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 +msgstr "Усе змены будуць скасаваны." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Падрыхтоўка..." \ No newline at end of file diff --git a/po/bg.po b/po/bg.po index 3c101cd..b7950d7 100644 --- a/po/bg.po +++ b/po/bg.po @@ -269,4 +269,7 @@ 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 +msgstr "Всички промени ще бъдат отхвърлени." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Подготвяне..." \ No newline at end of file diff --git a/po/bn.po b/po/bn.po index 9ad04e5..ccf5c40 100644 --- a/po/bn.po +++ b/po/bn.po @@ -266,4 +266,7 @@ 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 +msgstr "সমস্ত পরিবর্তন পরিত্যাগ করা হবে।" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "প্রস্তুত হচ্ছে..." \ No newline at end of file diff --git a/po/bn_BD.po b/po/bn_BD.po index 6fa6555..4069dc4 100644 --- a/po/bn_BD.po +++ b/po/bn_BD.po @@ -266,4 +266,7 @@ 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 +msgstr "সব পরিবর্তন পরিত্যাগ করা হবে।" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "তৈরি হচ্ছে..." \ No newline at end of file diff --git a/po/ca.po b/po/ca.po index b3bd870..000254b 100644 --- a/po/ca.po +++ b/po/ca.po @@ -269,4 +269,7 @@ 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 +msgstr "Recents" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "S'està preparant..." \ No newline at end of file diff --git a/po/cs.po b/po/cs.po index 14086bc..f7dae5d 100644 --- a/po/cs.po +++ b/po/cs.po @@ -269,4 +269,7 @@ 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 +msgstr "Poslední" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Příprava..." \ No newline at end of file diff --git a/po/da.po b/po/da.po index 924b197..ff4f27e 100644 --- a/po/da.po +++ b/po/da.po @@ -270,3 +270,7 @@ msgstr "Seneste" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "Alle ændringer bliver kasseret." + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Forbereder ..." \ No newline at end of file diff --git a/po/de.po b/po/de.po index a05ffe2..352c3d8 100644 --- a/po/de.po +++ b/po/de.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Kürzlich verwendet" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Alle Änderungen werden verworfen." \ No newline at end of file +msgstr "Alle Änderungen werden verworfen." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Vorbereitung läuft..." \ No newline at end of file diff --git a/po/el_GR.po b/po/el_GR.po index 803d24b..4833536 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -269,4 +269,7 @@ 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 +msgstr "Όλες οι αλλαγές θα απορριφθούν." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Προετοιμασία..." diff --git a/po/en.po b/po/en.po index b5754fd..24e40b3 100644 --- a/po/en.po +++ b/po/en.po @@ -269,4 +269,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_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparing..." \ No newline at end of file diff --git a/po/en_PH.po b/po/en_PH.po index 218e992..3252b8d 100644 --- a/po/en_PH.po +++ b/po/en_PH.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recent" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "All changes will be discarded." \ No newline at end of file +msgstr "All changes will be discarded." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparing..." \ No newline at end of file diff --git a/po/en_US.po b/po/en_US.po index 778baf4..9aa6485 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -277,5 +277,5 @@ msgstr "Recent" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "All changes will be discarded." -msgid "WDS_VOICE_PREPARE_ABB" -msgstr "Preparing..." \ No newline at end of file +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparing..." diff --git a/po/es_ES.po b/po/es_ES.po index 6a1350d..9071db2 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recientes" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Se descartarán todos los cambios." \ No newline at end of file +msgstr "Se descartarán todos los cambios." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparando..." \ No newline at end of file diff --git a/po/es_US.po b/po/es_US.po index 875be71..6222dc4 100644 --- a/po/es_US.po +++ b/po/es_US.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recientes" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Se descartarán los cambios." \ No newline at end of file +msgstr "Se descartarán los cambios." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparando..." \ No newline at end of file diff --git a/po/et.po b/po/et.po index 11bddb4..9850455 100644 --- a/po/et.po +++ b/po/et.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Hiljutised" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Kõikidest muudatustest loobutakse." \ No newline at end of file +msgstr "Kõikidest muudatustest loobutakse." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Ettevalmistamine..." diff --git a/po/eu.po b/po/eu.po index 27869c3..9c9907b 100644 --- a/po/eu.po +++ b/po/eu.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Azkenak" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Aldaketa guztiak baztertuko dira." \ No newline at end of file +msgstr "Aldaketa guztiak baztertuko dira." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Prestatzen..." \ No newline at end of file diff --git a/po/fa.po b/po/fa.po index 5c3ebc4..d938050 100644 --- a/po/fa.po +++ b/po/fa.po @@ -266,4 +266,7 @@ 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 +msgstr "همه تغییرات کنار گذاشته می‌شوند." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "در حال آماده‌سازی..." \ No newline at end of file diff --git a/po/fi.po b/po/fi.po index 54798b0..719b36d 100644 --- a/po/fi.po +++ b/po/fi.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Uusimmat" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Kaikki muutokset hylätään." \ No newline at end of file +msgstr "Kaikki muutokset hylätään." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Valmistellaan..." \ No newline at end of file diff --git a/po/fr.po b/po/fr.po index b616a63..45a2091 100644 --- a/po/fr.po +++ b/po/fr.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "Toutes les modifications vont être ignorées." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Préparation..." \ No newline at end of file diff --git a/po/fr_CA.po b/po/fr_CA.po index 8fddc56..e189791 100644 --- a/po/fr_CA.po +++ b/po/fr_CA.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "Toutes les modifications vont être ignorées." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Préparation..." \ No newline at end of file diff --git a/po/ga.po b/po/ga.po index 6d4ee17..8075657 100644 --- a/po/ga.po +++ b/po/ga.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Le déanaí" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Cuileálfar gach athrú." \ No newline at end of file +msgstr "Cuileálfar gach athrú." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Ullmhú..." \ No newline at end of file diff --git a/po/gl.po b/po/gl.po index 17d025d..0362ebf 100644 --- a/po/gl.po +++ b/po/gl.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recente" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Descartaranse todos os cambios." \ No newline at end of file +msgstr "Descartaranse todos os cambios." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparando..." \ No newline at end of file diff --git a/po/gu.po b/po/gu.po index 59eec07..a29c1ab 100644 --- a/po/gu.po +++ b/po/gu.po @@ -266,4 +266,7 @@ 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 +msgstr "બધા ફેરફારો કાઢી નાખવામાં આવશે." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "તૈયારી કરી રહ્યાં છે..." \ No newline at end of file diff --git a/po/he.po b/po/he.po index 927968b..4136af7 100644 --- a/po/he.po +++ b/po/he.po @@ -266,4 +266,7 @@ 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 +msgstr "כל השינויים יושלכו." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "מכין..." \ No newline at end of file diff --git a/po/hi.po b/po/hi.po index b8957d5..d121bdd 100644 --- a/po/hi.po +++ b/po/hi.po @@ -269,4 +269,7 @@ 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 +msgstr "सभी बदलाव निरस्त कर दिए जाएँगें।" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "तैयार हो रहा है..." \ No newline at end of file diff --git a/po/hr.po b/po/hr.po index b97e2a9..d24caa1 100644 --- a/po/hr.po +++ b/po/hr.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Nedavno" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Sve će se promjene odbaciti." \ No newline at end of file +msgstr "Sve će se promjene odbaciti." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Priprema..." \ No newline at end of file diff --git a/po/hu.po b/po/hu.po index fdbf5e1..8120066 100644 --- a/po/hu.po +++ b/po/hu.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Legutóbbi" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Minden változtatást elvet." \ No newline at end of file +msgstr "Minden változtatást elvet." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Előkészítés..." \ No newline at end of file diff --git a/po/hy.po b/po/hy.po index 58c52d3..3795993 100644 --- a/po/hy.po +++ b/po/hy.po @@ -269,4 +269,7 @@ 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 +msgstr "Բոլոր փոփոխությունները կանտեսվեն:" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Պատրաստվում է..." \ No newline at end of file diff --git a/po/id.po b/po/id.po index 9029881..a59bb9d 100644 --- a/po/id.po +++ b/po/id.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Terbaru" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Semua perubahan akan dibuang." \ No newline at end of file +msgstr "Semua perubahan akan dibuang." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Menyiapkan..." \ No newline at end of file diff --git a/po/is.po b/po/is.po index 58dbc3e..fb46529 100644 --- a/po/is.po +++ b/po/is.po @@ -270,3 +270,7 @@ msgstr "Nýlegt" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "Öllum breytingum verður fleygt." + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Undirbýr ..." \ No newline at end of file diff --git a/po/it_IT.po b/po/it_IT.po index 1e940de..f71e6a4 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recenti" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Ogni modifica sarà annullata." \ No newline at end of file +msgstr "Ogni modifica sarà annullata." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparazione..." \ No newline at end of file diff --git a/po/ja_JP.po b/po/ja_JP.po index c434352..724018d 100644 --- a/po/ja_JP.po +++ b/po/ja_JP.po @@ -269,4 +269,7 @@ 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 +msgstr "全ての変更を破棄します。" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "準備中..." \ No newline at end of file diff --git a/po/ka.po b/po/ka.po index 3890712..19b38fd 100644 --- a/po/ka.po +++ b/po/ka.po @@ -269,4 +269,7 @@ 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 +msgstr "ყველა ცვლილება გაუქმდება." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "მზადდება..." \ No newline at end of file diff --git a/po/kk.po b/po/kk.po index 14fd2c1..82488ae 100644 --- a/po/kk.po +++ b/po/kk.po @@ -270,3 +270,7 @@ msgstr "Соңғы" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "Барлық өзгерістер алынып тасталады." + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Дайындалуда..." diff --git a/po/km.po b/po/km.po index e79c361..7b4c772 100644 --- a/po/km.po +++ b/po/km.po @@ -266,4 +266,7 @@ 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 +msgstr "នឹង​ចោល​ការប្ដូរ​ទាំងអស់។" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "កំពុង​រៀបចំ..." \ No newline at end of file diff --git a/po/kn.po b/po/kn.po index c4de3cd..f4bf603 100644 --- a/po/kn.po +++ b/po/kn.po @@ -266,4 +266,7 @@ 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 +msgstr "ಎಲ್ಲ ಬದಲಾವಣೆಗಳನ್ನು ತ್ಯಜಿಸಲಾಗುವುದು." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "ಸಿದ್ಧಗೊಳ್ಳುತ್ತಿದೆ..." \ No newline at end of file diff --git a/po/ko_KR.po b/po/ko_KR.po index ff1a694..11f95e8 100644 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -271,5 +271,5 @@ msgstr "최근 보낸 이모티콘" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "변경사항을 저장하지 않습니다." -msgid "WDS_VOICE_PREPARE_ABB" -msgstr "준비중 입니다..." +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "준비 중..." diff --git a/po/ky_KG.po b/po/ky_KG.po index 3f8b33f..160f1d2 100644 --- a/po/ky_KG.po +++ b/po/ky_KG.po @@ -267,3 +267,7 @@ msgstr "Акыркы" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "Бардык өзгөртүүлөр четке кагылат." + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Даярдоодо..." \ No newline at end of file diff --git a/po/lo.po b/po/lo.po index 42626d8..7d3cf9e 100644 --- a/po/lo.po +++ b/po/lo.po @@ -266,4 +266,7 @@ 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 +msgstr "ການປ່ຽນແປງທັງໝົດຈະຖືກລຶບ." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "ກໍາລັງກະກຽມ..." \ No newline at end of file diff --git a/po/lt.po b/po/lt.po index 4088d35..969bd6e 100644 --- a/po/lt.po +++ b/po/lt.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Naujausi" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Visi pakeitimai bus panaikinti." \ No newline at end of file +msgstr "Visi pakeitimai bus panaikinti." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Ruošiama..." \ No newline at end of file diff --git a/po/lv.po b/po/lv.po index 152bfa8..c7b474c 100644 --- a/po/lv.po +++ b/po/lv.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "Visas izmaiņas tiks atmestas." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Sagatavo..." diff --git a/po/mk.po b/po/mk.po index 763f696..d7d2185 100644 --- a/po/mk.po +++ b/po/mk.po @@ -269,4 +269,7 @@ 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 +msgstr "Сите промени ќе се отфрлат." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Се подготвува..." \ No newline at end of file diff --git a/po/ml.po b/po/ml.po index 7cceb24..e946bfa 100644 --- a/po/ml.po +++ b/po/ml.po @@ -266,4 +266,7 @@ 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 +msgstr "എല്ലാ മാറ്റങ്ങളും ഒഴിവാക്കപ്പെടും." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "തയ്യാറാക്കുന്നു..." \ No newline at end of file diff --git a/po/mn_MN.po b/po/mn_MN.po index 5b290ba..1100260 100644 --- a/po/mn_MN.po +++ b/po/mn_MN.po @@ -266,4 +266,7 @@ 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 +msgstr "Бүх өөрчлөлт орхигдоно." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Бэлтгэж байна..." \ No newline at end of file diff --git a/po/mr.po b/po/mr.po index 4e749fd..41d0f88 100644 --- a/po/mr.po +++ b/po/mr.po @@ -266,4 +266,7 @@ 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 +msgstr "सर्व बदल काढून टाकले जातील." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "तयार होत आहे..." \ No newline at end of file diff --git a/po/ms.po b/po/ms.po index 510d3fa..cad1b12 100644 --- a/po/ms.po +++ b/po/ms.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Terkini" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Semua perubahan akan dibuang." \ No newline at end of file +msgstr "Semua perubahan akan dibuang." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Menyediakan..." \ No newline at end of file diff --git a/po/my_MM.po b/po/my_MM.po index be1e445..460a1d4 100644 --- a/po/my_MM.po +++ b/po/my_MM.po @@ -266,4 +266,7 @@ 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 +msgstr "ပြောင်းလဲမှုများအားလုံးကို ဖယ်ထုတ်သွားမည်။" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "ပြင်ဆင်နေသည်..." \ No newline at end of file diff --git a/po/my_ZG.po b/po/my_ZG.po index 846c6d9..456c646 100644 --- a/po/my_ZG.po +++ b/po/my_ZG.po @@ -266,4 +266,7 @@ 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 +msgstr "ေျပာင္းလဲမႈမ်ားအားလုံးကို ဖယ္ထုတ္သြားမည္။" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "ျပင္ဆင္ေနသည္..." \ No newline at end of file diff --git a/po/nb.po b/po/nb.po index 1faf8fe..40bb3d7 100644 --- a/po/nb.po +++ b/po/nb.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Nylige" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Alle endringer blir forkastet." \ No newline at end of file +msgstr "Alle endringer blir forkastet." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Klargjør ..." \ No newline at end of file diff --git a/po/ne.po b/po/ne.po index f2b82ef..c0f191c 100644 --- a/po/ne.po +++ b/po/ne.po @@ -267,3 +267,7 @@ msgstr "हालको" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "सबै परिवर्तनहरू खारेज गरिनेछ।" + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "तयार गर्दै..." \ No newline at end of file diff --git a/po/nl.po b/po/nl.po index cf939eb..5cc2b7b 100644 --- a/po/nl.po +++ b/po/nl.po @@ -270,3 +270,7 @@ msgstr "Recent" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "Alle wijzigingen worden verwijderd." + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Voorbereiden..." \ No newline at end of file diff --git a/po/or.po b/po/or.po index fbf5f12..d8e73f2 100644 --- a/po/or.po +++ b/po/or.po @@ -266,4 +266,7 @@ 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 +msgstr "ସମସ୍ତ ପରିବର୍ତ୍ତନ ପ୍ରତ୍ୟାଖିତ ହେବ।" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "ପ୍ରସ୍ତୁତ କରୁଛି..." \ No newline at end of file diff --git a/po/pa.po b/po/pa.po index 63848b9..170b9a9 100644 --- a/po/pa.po +++ b/po/pa.po @@ -267,3 +267,7 @@ msgstr "ਹਾਲ ਹੀ ਦੇ" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "ਸਭ ਬਦਲਾਵ ਖਾਰਿਜ ਹੋ ਜਾਣਗੇ।" + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "ਤਿਆਰ ਹੋ ਰਿਹਾ ਹੈ..." \ No newline at end of file diff --git a/po/pl.po b/po/pl.po index 93f83e6..a69405d 100644 --- a/po/pl.po +++ b/po/pl.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Ostatnie" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Wszystkie zmiany zostaną odrzucone." \ No newline at end of file +msgstr "Wszystkie zmiany zostaną odrzucone." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Przygotowywanie..." \ No newline at end of file diff --git a/po/pl_SP.po b/po/pl_SP.po index 13018f9..5fd70c3 100644 --- a/po/pl_SP.po +++ b/po/pl_SP.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Niydŏwne" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Wszyjske zmiany ôstanōm ôdciepniynte." \ No newline at end of file +msgstr "Wszyjske zmiany ôstanōm ôdciepniynte." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Szykowanie..." \ No newline at end of file diff --git a/po/pt_BR.po b/po/pt_BR.po index 1613923..e07ba34 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "Todas as alterações serão descartadas." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Preparando..." \ No newline at end of file diff --git a/po/pt_PT.po b/po/pt_PT.po index f822221..2c7dc04 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "As alterações serão todas eliminadas." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "A preparar..." \ No newline at end of file diff --git a/po/ro.po b/po/ro.po index 9330101..67f982b 100644 --- a/po/ro.po +++ b/po/ro.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Recente" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Toate schimbările vor fi anulate." \ No newline at end of file +msgstr "Toate schimbările vor fi anulate." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Se pregătește..." \ No newline at end of file diff --git a/po/ru_RU.po b/po/ru_RU.po index 9314dfc..5e46848 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -269,4 +269,7 @@ 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 +msgstr "Все изменения будут отменены." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Подготовка..." \ No newline at end of file diff --git a/po/si.po b/po/si.po index 1adc3b1..0f6e87c 100644 --- a/po/si.po +++ b/po/si.po @@ -266,4 +266,7 @@ 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 +msgstr "වෙනස්කම් සියල්ල බැහැර කෙරෙනු ඇත." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "සූදානම් කරමින්..." \ No newline at end of file diff --git a/po/sk.po b/po/sk.po index 6505e22..da10200 100644 --- a/po/sk.po +++ b/po/sk.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Nedávne" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Všetky zmeny sa zahodia." \ No newline at end of file +msgstr "Všetky zmeny sa zahodia." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Prebieha príprava..." \ No newline at end of file diff --git a/po/sl.po b/po/sl.po index 21593d9..af0ef46 100644 --- a/po/sl.po +++ b/po/sl.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Nedavni" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Vse spremembe bodo zavržene." \ No newline at end of file +msgstr "Vse spremembe bodo zavržene." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Pripravljanje ..." \ No newline at end of file diff --git a/po/sq.po b/po/sq.po index c9e3c2a..8303521 100644 --- a/po/sq.po +++ b/po/sq.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Së fundi" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Gjithë ndryshimet do shpërfillen." \ No newline at end of file +msgstr "Gjithë ndryshimet do shpërfillen." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Duke përgatitur..." \ No newline at end of file diff --git a/po/sr.po b/po/sr.po index c4ddb51..758963f 100644 --- a/po/sr.po +++ b/po/sr.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Nedavno" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Sve promene će biti odbačene." \ No newline at end of file +msgstr "Sve promene će biti odbačene." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Priprema se..." \ No newline at end of file diff --git a/po/sv.po b/po/sv.po index 21f3597..e87e250 100644 --- a/po/sv.po +++ b/po/sv.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Senaste" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Alla ändringar ignoreras." \ No newline at end of file +msgstr "Alla ändringar ignoreras." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Förbereder ..." \ No newline at end of file diff --git a/po/ta.po b/po/ta.po index c674a89..ca2003b 100644 --- a/po/ta.po +++ b/po/ta.po @@ -266,4 +266,7 @@ 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 +msgstr "அனைத்து மாற்றங்களும் தவிர்க்கப்படும்." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "தயாராகிறது..." \ No newline at end of file diff --git a/po/te.po b/po/te.po index 2bbfd7d..6e9dffb 100644 --- a/po/te.po +++ b/po/te.po @@ -266,4 +266,7 @@ 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 +msgstr "అన్ని మార్పులు విస్మరించబడతాయి." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "సిద్ధం చేస్తోంది..." \ No newline at end of file diff --git a/po/tg_TJ.po b/po/tg_TJ.po index 5f74607..d850295 100644 --- a/po/tg_TJ.po +++ b/po/tg_TJ.po @@ -267,3 +267,7 @@ msgstr "Охирин" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" msgstr "Ҳамаи тағйирот бекор карда мешавад." + + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Омодасозӣ..." \ No newline at end of file diff --git a/po/th.po b/po/th.po index 8614ef6..49429b5 100644 --- a/po/th.po +++ b/po/th.po @@ -266,4 +266,7 @@ 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 +msgstr "การ​เปลี่ยน​แปลง​ทั้ง​หมด​ จะ​ถูก​ละทิ้ง" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "กำลังเตรียม..." \ No newline at end of file diff --git a/po/tk_TM.po b/po/tk_TM.po index 3c8726b..aba927b 100644 --- a/po/tk_TM.po +++ b/po/tk_TM.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Soňky" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Ähli üýtgetmeler öçüriler." \ No newline at end of file +msgstr "Ähli üýtgetmeler öçüriler." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Taýýarlyk..." \ No newline at end of file diff --git a/po/tl.po b/po/tl.po index 66291c2..502985e 100644 --- a/po/tl.po +++ b/po/tl.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Kamakailan" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Idi-discard ang lahat ng pagbabago." \ No newline at end of file +msgstr "Idi-discard ang lahat ng pagbabago." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Hinahanda..." \ No newline at end of file diff --git a/po/tr_TR.po b/po/tr_TR.po index efde8b5..871827f 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "Tüm değişiklikler silinecek." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Hazırlanıyor..." \ No newline at end of file diff --git a/po/uk.po b/po/uk.po index e06f4b0..e7f2a21 100644 --- a/po/uk.po +++ b/po/uk.po @@ -269,4 +269,7 @@ 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 +msgstr "Усі зміни буде скасовано." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Підготовка..." \ No newline at end of file diff --git a/po/ur.po b/po/ur.po index 71109c0..e2a1d0f 100644 --- a/po/ur.po +++ b/po/ur.po @@ -266,4 +266,7 @@ 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 +msgstr "سبھی تبدیلیاں رد کردی جائیں گی۔" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "تیاری کررہا ہے..." \ No newline at end of file diff --git a/po/uz.po b/po/uz.po index 13d0506..51ac41e 100644 --- a/po/uz.po +++ b/po/uz.po @@ -269,4 +269,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" msgstr "Oxirgi" msgid "WDS_WNOTI_POP_ALL_CHANGES_WILL_BE_DISCARDED" -msgstr "Barcha o‘zgartirishlar bekor qilinadi." \ No newline at end of file +msgstr "Barcha o‘zgartirishlar bekor qilinadi." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Tayyorlanmoqda..." \ No newline at end of file diff --git a/po/vi.po b/po/vi.po index 04d0431..2386379 100644 --- a/po/vi.po +++ b/po/vi.po @@ -266,4 +266,7 @@ msgid "WDS_IME_HEADER_RECENT_M_RECETLY_SENT_EMOJIS_ABB" 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 +msgstr "Mọi thay đổi sẽ không được lưu." + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "Đang chuẩn bị..." \ No newline at end of file diff --git a/po/zh_CN.po b/po/zh_CN.po index 8d1d026..ce1f0b5 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -269,4 +269,7 @@ 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 +msgstr "将放弃全部更改。" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "正在准备..." \ No newline at end of file diff --git a/po/zh_HK.po b/po/zh_HK.po index 19d398b..ac6964b 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -269,4 +269,7 @@ 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 +msgstr "將捨棄所有變更。" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "正在準備..." \ No newline at end of file diff --git a/po/zh_TW.po b/po/zh_TW.po index 79900a1..8179783 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -269,4 +269,7 @@ 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 +msgstr "將捨棄所有變更。" + +msgid "WDS_IME_BODY_PREPARING_ING_ABB" +msgstr "正在就緒..." \ No newline at end of file -- 2.7.4 From 17cd2958ecce0cd49c9916ce244892746529f8f1 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 14 Feb 2018 09:26:57 +0900 Subject: [PATCH 14/16] Fix coding style Change-Id: I6f89e11aa8252f2ebf7cf52aaeec1c758e44bc56 Signed-off-by: Jihoon Kim --- src/SttFeedback.cpp | 3 - src/SttManager.cpp | 304 +++++++++++++++++++++++------------------------ src/w-input-selector.cpp | 2 - 3 files changed, 149 insertions(+), 160 deletions(-) diff --git a/src/SttFeedback.cpp b/src/SttFeedback.cpp index ec7d91f..f6ae7da 100755 --- a/src/SttFeedback.cpp +++ b/src/SttFeedback.cpp @@ -172,8 +172,6 @@ void SttFeedback::SttProcessing(void) set_animation_state(&vd); } - - void SttFeedback::OnError(stt_error_e reason) { if(!owner) { @@ -189,7 +187,6 @@ void SttFeedback::OnError(stt_error_e reason) show_error_message(&vd, reason); } - void SttFeedback::SetVoiceData(void *data) { if(!data) { PRINTFUNC(DLOG_WARN, "no data"); diff --git a/src/SttManager.cpp b/src/SttManager.cpp index 3632923..69ebc14 100755 --- a/src/SttManager.cpp +++ b/src/SttManager.cpp @@ -36,16 +36,12 @@ static sound_stream_info_h g_stream_info_h = NULL; static inline const char *stt_state_str(stt_state_e cur) { if (cur == STT_STATE_CREATED) return (const char *) "STT_STATE_CREATED"; - else if (cur == STT_STATE_READY) return (const char *) "STT_STATE_READY"; - else if (cur == STT_STATE_RECORDING) return (const char *) "STT_STATE_RECORDING"; - else if (cur == STT_STATE_PROCESSING) return (const char *) "STT_STATE_PROCESSING"; - else return (const char *) "ABNORMAL CASE"; } @@ -66,7 +62,7 @@ SttManager::SttManager(ISttFeedback& feedback) */ int ret = stt_create(&handle); - if(ret != STT_ERROR_NONE) + if (ret != STT_ERROR_NONE) throw SttException(ret, ErrorString((stt_error_e)ret)); ret = sound_manager_create_stream_information(SOUND_STREAM_TYPE_VOICE_RECOGNITION, player_focus_state_cb, NULL, &g_stream_info_h); @@ -95,6 +91,7 @@ SttManager::~SttManager() { } catch(SttException &e) { PRINTFUNC(DLOG_ERROR, "reason : %s", e.what()); + stt_destroy(handle); } @@ -110,23 +107,23 @@ void SttManager::Prepare() { */ int ret = stt_prepare(handle); - if(ret != STT_ERROR_NONE) + if (ret != STT_ERROR_NONE) throw SttException(ret, ErrorString((stt_error_e)ret)); } void SttManager::UnPrepare() { - /** - * UnPrepare stt service. - * - */ - int ret = stt_unprepare(handle); - - if (ret != STT_ERROR_NONE) - throw SttException(ret, ErrorString((stt_error_e)ret)); + /** + * UnPrepare stt service. + * + */ + int ret = stt_unprepare(handle); + + if (ret != STT_ERROR_NONE) + throw SttException(ret, ErrorString((stt_error_e)ret)); } void SttManager::Start() { - if(!Validate((int) READY)) { + if (!Validate((int) READY)) { throw SttException((int) STT_ERROR_INVALID_STATE, "INVALID STATE - !STT_STATE_READY"); } @@ -148,12 +145,12 @@ void SttManager::Start() { ret = stt_start(handle, language.c_str(), asrtype.c_str()); - if(ret != STT_ERROR_NONE) + if (ret != STT_ERROR_NONE) throw SttException(ret, ErrorString((stt_error_e)ret)); } void SttManager::Stop() { - if(!Validate((int) RECORDING)) { + if (!Validate((int) RECORDING)) { throw SttException((int) STT_ERROR_INVALID_STATE, "INVALID STATE - !STT_STATE_RECORDING"); } @@ -163,17 +160,17 @@ void SttManager::Stop() { */ int ret = stt_stop(handle); - if(ret != STT_ERROR_NONE) + if (ret != STT_ERROR_NONE) throw SttException(ret, ErrorString((stt_error_e)ret)); } void SttManager::Cancel() { - if(iscancelled) { + if (iscancelled) { PRINTFUNC(DLOG_WARN, "iscancelled (%d)", iscancelled); return; } - if(!Validate((int) (RECORDING|PROCESSING))) { + if (!Validate((int) (RECORDING|PROCESSING))) { throw SttException((int) STT_ERROR_INVALID_STATE, "INVALID STATE - !(STT_STATE_RECORDING or STT_STATE_PROCESSING)"); } @@ -183,7 +180,7 @@ void SttManager::Cancel() { */ int ret = stt_cancel(handle); - if(ret != STT_ERROR_NONE) + if (ret != STT_ERROR_NONE) throw SttException(ret, ErrorString((stt_error_e)ret)); iscancelled = true; @@ -192,7 +189,6 @@ void SttManager::Cancel() { ifeedback.SttIdle(); } - bool SttManager::Validate(int state) { stt_state_e cur; @@ -209,19 +205,19 @@ bool SttManager::Validate(int state) { cur == STT_STATE_PROCESSING ? "STT_STATE_PROCESSING" : "ABNORMAL"); switch(cur) { - case STT_STATE_CREATED : + case STT_STATE_CREATED: if (state & CREATE) return true; break; - case STT_STATE_READY : + case STT_STATE_READY: if (state & READY) return true; break; - case STT_STATE_RECORDING : + case STT_STATE_RECORDING: if (state & RECORDING) return true; break; - case STT_STATE_PROCESSING : + case STT_STATE_PROCESSING: if (state & PROCESSING) return true; break; - default : + default: break; } @@ -237,16 +233,16 @@ void SttManager::PrintResultState(stt_result_event_e result_type) std::string result; switch (result_type) { - case STT_RESULT_EVENT_FINAL_RESULT : + case STT_RESULT_EVENT_FINAL_RESULT: result = "STT_RESULT_EVENT_FINAL_RESULT"; break; - case STT_RESULT_EVENT_PARTIAL_RESULT : + case STT_RESULT_EVENT_PARTIAL_RESULT: result = "STT_RESULT_EVENT_PARTIAL_RESULT"; break; - case STT_RESULT_EVENT_ERROR : + case STT_RESULT_EVENT_ERROR: result = "STT_RESULT_EVENT_ERROR"; break; - default : + default: result = "UNKNOWN"; break; } @@ -254,35 +250,35 @@ void SttManager::PrintResultState(stt_result_event_e result_type) } void SttManager::on_result( - stt_h handle, - stt_result_event_e event, - const char** data, - int size, - const char* msg, - void *user_data) { - PrintResultState(event); - - if (!user_data) { + stt_h handle, + stt_result_event_e event, + const char** data, + int size, + const char* msg, + void *user_data) { + PrintResultState(event); + + if (!user_data) { PRINTFUNC(DLOG_ERROR, "user_data null"); throw SttException((int)STT_ERROR_INVALID_PARAMETER, "invalid self reference"); - } + } - SttManager& manager = *((SttManager *) user_data); + SttManager& manager = *((SttManager *) user_data); - std::vector results; + std::vector results; - PRINTFUNC(DLOG_INFO, "result size : %d, msg : %s", size, msg); + PRINTFUNC(DLOG_INFO, "result size : %d, msg : %s", size, msg); - for (size_t i = 0; i < (size_t) size; i++) { - if (data[i]) { - results.push_back(std::string(data[i])); - } + for (size_t i = 0; i < (size_t) size; i++) { + if (data[i]) { + results.push_back(std::string(data[i])); + } - if (msg) - manager.ifeedback.OnResult(manager.asrtype, event, results, std::string(msg)); - else - manager.ifeedback.OnResult(manager.asrtype, event, results, std::string("")); - } + if (msg) + manager.ifeedback.OnResult(manager.asrtype, event, results, std::string(msg)); + else + manager.ifeedback.OnResult(manager.asrtype, event, results, std::string("")); + } } void SttManager::PrintState(stt_state_e previous, stt_state_e current) @@ -374,46 +370,46 @@ void SttManager::PrintErrorState(stt_error_e reason) std::string res; switch (reason) { - case STT_ERROR_OUT_OF_MEMORY : + case STT_ERROR_OUT_OF_MEMORY: res = "STT_ERROR_OUT_OF_MEMORY"; break; - case STT_ERROR_IO_ERROR : + case STT_ERROR_IO_ERROR: res = "STT_ERROR_IO_ERROR"; break; - case STT_ERROR_INVALID_PARAMETER : + case STT_ERROR_INVALID_PARAMETER: res = "STT_ERROR_INVALID_PARAMETER"; break; - case STT_ERROR_TIMED_OUT : + case STT_ERROR_TIMED_OUT: res = "STT_ERROR_TIMED_OUT"; break; - case STT_ERROR_RECORDER_BUSY : + case STT_ERROR_RECORDER_BUSY: res = "STT_ERROR_RECORDER_BUSY"; break; - case STT_ERROR_OUT_OF_NETWORK : + case STT_ERROR_OUT_OF_NETWORK: res = "STT_ERROR_OUT_OF_NETWORK"; break; - case STT_ERROR_PERMISSION_DENIED : + case STT_ERROR_PERMISSION_DENIED: res = "STT_ERROR_PERMISSION_DENIED"; break; - case STT_ERROR_NOT_SUPPORTED : + case STT_ERROR_NOT_SUPPORTED: res = "STT_ERROR_NOT_SUPPORTED"; break; - case STT_ERROR_INVALID_STATE : + case STT_ERROR_INVALID_STATE: res = "STT_ERROR_INVALID_STATE"; break; - case STT_ERROR_INVALID_LANGUAGE : + case STT_ERROR_INVALID_LANGUAGE: res = "STT_ERROR_INVALID_LANGUAGE"; break; - case STT_ERROR_ENGINE_NOT_FOUND : + case STT_ERROR_ENGINE_NOT_FOUND: res = "STT_ERROR_ENGINE_NOT_FOUND"; break; - case STT_ERROR_OPERATION_FAILED : + case STT_ERROR_OPERATION_FAILED: res = "STT_ERROR_OPERATION_FAILED"; break; - case STT_ERROR_NOT_SUPPORTED_FEATURE : + case STT_ERROR_NOT_SUPPORTED_FEATURE: res = "STT_ERROR_NOT_SUPPORTED_FEATURE"; break; - default : + default: res = "UNKNOWN ERROR REASON"; break; } @@ -421,117 +417,115 @@ void SttManager::PrintErrorState(stt_error_e reason) } void SttManager::on_error( - stt_h handle, - stt_error_e reason, - void *user_data) { - PRINTFUNC(DLOG_INFO, "stt-daemon error (%d)", reason); + stt_h handle, + stt_error_e reason, + void *user_data) { + PRINTFUNC(DLOG_INFO, "stt-daemon error (%d)", reason); - if (!user_data) + if (!user_data) throw SttException((int)STT_ERROR_INVALID_PARAMETER, "invalid self reference"); - SttManager& manager = *((SttManager *) user_data); - manager.ifeedback.OnError(reason); + SttManager& manager = *((SttManager *) user_data); + manager.ifeedback.OnError(reason); } void SttManager::SetLanguage(std::string language) { - this->language = language; + this->language = language; } void SttManager::EnableFeedback(bool enabled) { - int ret = STT_ERROR_NONE; + int ret = STT_ERROR_NONE; - void *udata = static_cast(this); + void *udata = static_cast(this); - if (enabled) { - ret = stt_set_recognition_result_cb(handle, on_result, udata); - if (STT_ERROR_NONE != ret) - throw SttException(ret, ErrorString((stt_error_e)ret)); + if (enabled) { + ret = stt_set_recognition_result_cb(handle, on_result, udata); + if (STT_ERROR_NONE != ret) + throw SttException(ret, ErrorString((stt_error_e)ret)); - ret = stt_set_error_cb(handle, on_error, udata); - if (STT_ERROR_NONE != ret) - throw SttException(ret, ErrorString((stt_error_e)ret)); + ret = stt_set_error_cb(handle, on_error, udata); + if (STT_ERROR_NONE != ret) + throw SttException(ret, ErrorString((stt_error_e)ret)); - ret = stt_set_state_changed_cb(handle, on_state_changed, udata); - if (STT_ERROR_NONE != ret) - throw SttException(ret, ErrorString((stt_error_e)ret)); - } else { - ret = stt_unset_error_cb(handle); - if (STT_ERROR_NONE != ret) - throw SttException(ret, ErrorString((stt_error_e)ret)); + ret = stt_set_state_changed_cb(handle, on_state_changed, udata); + if (STT_ERROR_NONE != ret) + throw SttException(ret, ErrorString((stt_error_e)ret)); + } else { + ret = stt_unset_error_cb(handle); + if (STT_ERROR_NONE != ret) + throw SttException(ret, ErrorString((stt_error_e)ret)); - ret = stt_unset_state_changed_cb(handle); - if (STT_ERROR_NONE != ret) - throw SttException(ret, ErrorString((stt_error_e)ret)); + ret = stt_unset_state_changed_cb(handle); + if (STT_ERROR_NONE != ret) + throw SttException(ret, ErrorString((stt_error_e)ret)); - ret = stt_unset_recognition_result_cb(handle); - if (STT_ERROR_NONE != ret) - throw SttException(ret, ErrorString((stt_error_e)ret)); - } + ret = stt_unset_recognition_result_cb(handle); + if (STT_ERROR_NONE != ret) + throw SttException(ret, ErrorString((stt_error_e)ret)); + } } const char* SttManager::ErrorString(int ecode) { - const char *str = NULL; - - switch (ecode) { - case STT_ERROR_OUT_OF_MEMORY: - str = (const char *) "STT_ERROR_OUT_OF_MEMORY"; - break; - case STT_ERROR_IO_ERROR: - str = (const char *) "STT_ERROR_IO_ERROR"; - break; - case STT_ERROR_INVALID_PARAMETER: - str = (const char *) "STT_ERROR_INVALID_PARAMETER"; - break; - case STT_ERROR_TIMED_OUT: - str = (const char *) "STT_ERROR_TIMED_OUT"; - break; - case STT_ERROR_RECORDER_BUSY: - str = (const char *) "STT_ERROR_RECORDER_BUSY"; - break; - case STT_ERROR_OUT_OF_NETWORK: - str = (const char *) "STT_ERROR_OUT_OF_NETWORK"; - break; - case STT_ERROR_INVALID_STATE: - str = (const char *) " STT_ERROR_INVALID_STATE"; - break; - case STT_ERROR_INVALID_LANGUAGE: - str = (const char *) "STT_ERROR_INVALID_LANGUAGE"; - break; - case STT_ERROR_ENGINE_NOT_FOUND: - str = (const char *) "STT_ERROR_ENGINE_NOT_FOUND"; - break; - case STT_ERROR_OPERATION_FAILED: - str = (const char *) "STT_ERROR_OPERATION_FAILED"; - break; - case STT_ERROR_NOT_SUPPORTED_FEATURE: - str = (const char *) "STT_ERROR_NOT_SUPPORTED_FEATURE"; - break; - } - return str; + const char *str = NULL; + + switch (ecode) { + case STT_ERROR_OUT_OF_MEMORY: + str = (const char *) "STT_ERROR_OUT_OF_MEMORY"; + break; + case STT_ERROR_IO_ERROR: + str = (const char *) "STT_ERROR_IO_ERROR"; + break; + case STT_ERROR_INVALID_PARAMETER: + str = (const char *) "STT_ERROR_INVALID_PARAMETER"; + break; + case STT_ERROR_TIMED_OUT: + str = (const char *) "STT_ERROR_TIMED_OUT"; + break; + case STT_ERROR_RECORDER_BUSY: + str = (const char *) "STT_ERROR_RECORDER_BUSY"; + break; + case STT_ERROR_OUT_OF_NETWORK: + str = (const char *) "STT_ERROR_OUT_OF_NETWORK"; + break; + case STT_ERROR_INVALID_STATE: + str = (const char *) " STT_ERROR_INVALID_STATE"; + break; + case STT_ERROR_INVALID_LANGUAGE: + str = (const char *) "STT_ERROR_INVALID_LANGUAGE"; + break; + case STT_ERROR_ENGINE_NOT_FOUND: + str = (const char *) "STT_ERROR_ENGINE_NOT_FOUND"; + break; + case STT_ERROR_OPERATION_FAILED: + str = (const char *) "STT_ERROR_OPERATION_FAILED"; + break; + case STT_ERROR_NOT_SUPPORTED_FEATURE: + str = (const char *) "STT_ERROR_NOT_SUPPORTED_FEATURE"; + break; + } + return str; } void SttManager::SoundFeedback() { - int is_sound = 0; - int is_sound_vibe = 0; - - if (vconf_get_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, &is_sound)) { - PRINTFUNC(DLOG_ERROR, "get sound status failed."); - } - - if (vconf_get_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, &is_sound_vibe)) { - PRINTFUNC(DLOG_ERROR, "get vibe status failed."); - } - - if (is_sound || is_sound_vibe) { - stt_set_start_sound(handle, "/usr/share/ise-voice-input/audio/voice_start.wav"); - stt_set_stop_sound(handle, "/usr/share/ise-voice-input/audio/voice_stop.wav"); - } else { - stt_unset_start_sound(handle); - stt_unset_stop_sound(handle); - } -} + int is_sound = 0; + int is_sound_vibe = 0; + + if (vconf_get_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, &is_sound)) { + PRINTFUNC(DLOG_ERROR, "get sound status failed."); + } + if (vconf_get_bool(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, &is_sound_vibe)) { + PRINTFUNC(DLOG_ERROR, "get vibe status failed."); + } + if (is_sound || is_sound_vibe) { + stt_set_start_sound(handle, "/usr/share/ise-voice-input/audio/voice_start.wav"); + stt_set_stop_sound(handle, "/usr/share/ise-voice-input/audio/voice_stop.wav"); + } else { + stt_unset_start_sound(handle); + stt_unset_stop_sound(handle); + } +} void SttManager::EnableSilenceDetection(bool enabled) { stt_option_silence_detection_e s_option; diff --git a/src/w-input-selector.cpp b/src/w-input-selector.cpp index f729ed0..808891e 100755 --- a/src/w-input-selector.cpp +++ b/src/w-input-selector.cpp @@ -156,7 +156,6 @@ void init_customizing_theme(void) elm_theme_extension_add(NULL, app_edj_path.c_str()); } - static Eina_Bool back_cb(void *data, Elm_Object_Item *it) { reply_to_sender_by_callback_for_back(); @@ -1437,7 +1436,6 @@ ACTIVATE : free(context); } - void _app_pause(void* user_data) { PRINTFUNC(DLOG_DEBUG, ""); -- 2.7.4 From ee0ffae208b5ce4a1cd03b9f01c1037870c5b70d Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Wed, 14 Feb 2018 16:41:38 +0900 Subject: [PATCH 15/16] Add null point check to avoid crash issue Change-Id: Id993030b052c838a5483e2aefef824312f560adb Signed-off-by: Jihoon Kim --- src/w-input-stt-voice.cpp | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/src/w-input-stt-voice.cpp b/src/w-input-stt-voice.cpp index c784536..a7e9754 100755 --- a/src/w-input-stt-voice.cpp +++ b/src/w-input-stt-voice.cpp @@ -329,12 +329,15 @@ static Eina_Bool _update_textblock_timer_cb(void *data) 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()); + 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()); + } } } } @@ -541,14 +544,15 @@ static Eina_Bool _idler_cb(void *data) is::ui::WInputSttMicEffect *ieffect = new is::ui::WInputSttMicEffect(); if (ieffect) { - ieffect->SetSttHandle(voicedata->sttmanager->GetSttHandle()); + if (voicedata->sttmanager) + ieffect->SetSttHandle(voicedata->sttmanager->GetSttHandle()); is::ui::MicEffector *effector = new is::ui::MicEffector(canvas, voicedata->layout_main, *ieffect); voicedata->ieffect = ieffect; voicedata->effector = effector; - ieffect->SetProgressBar(voicedata->progressbar); - ieffect->SetSttHandle(voicedata->sttmanager->GetSttHandle()); + if (voicedata->progressbar) + ieffect->SetProgressBar(voicedata->progressbar); } voicedata->mo->Update(); @@ -767,7 +771,8 @@ static Eina_Bool _start_timer_cb(void* data) try { voicedata->state = STT_STATE_VAL_PREPARE_LISTENING; - voicedata->sttmanager->Start(); + if (voicedata->sttmanager) + voicedata->sttmanager->Start(); } catch (is::stt::SttException &e) { PRINTFUNC(DLOG_ERROR, "%s", e.what()); @@ -856,7 +861,7 @@ void on_initial_anim_press_cb(void *data, Evas_Object *obj, const char *emission PRINTFUNC(NO_PRINT, ""); VoiceData *vd = (VoiceData *)data; - if (vd == NULL) + if (vd == NULL || vd->sttmanager == NULL) return; int tempVal = vd->sttmanager->GetCurrent(); @@ -1407,7 +1412,8 @@ void _stt_lang_changed_cb(keynode_t *key, void* data) VoiceData *vd = (VoiceData *) data; get_stt_default_language(vd); - vd->sttmanager->SetLanguage(std::string(vd->kbd_lang)); + if (vd->sttmanager) + vd->sttmanager->SetLanguage(std::string(vd->kbd_lang)); vd->mo->Update(); return; @@ -1564,11 +1570,13 @@ static void _stt_entry_clicked_cb(void *data, Evas_Object * obj, void *event_inf if (str && strlen(str) > 0) { try { - if (voicedata->sttmanager->GetCurrent() == STT_STATE_RECORDING || - voicedata->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { - voicedata->sttmanager->Cancel(); - PRINTFUNC(DLOG_DEBUG, "stt entry clicked callback during STT recording and processing"); - //return; + if (voicedata->sttmanager) { + if (voicedata->sttmanager->GetCurrent() == STT_STATE_RECORDING || + voicedata->sttmanager->GetCurrent() == STT_STATE_PROCESSING) { + voicedata->sttmanager->Cancel(); + PRINTFUNC(DLOG_DEBUG, "stt entry clicked callback during STT recording and processing"); + //return; + } } } catch(is::stt::SttException &e) { -- 2.7.4 From 7980d7f3da79d68f074074093998eda45a222a39 Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 22 Feb 2018 09:28:15 +0900 Subject: [PATCH 16/16] Update package version to 0.1.180222 Change-Id: I22957867cbf8017543485fdf689ef7fe29bd0851 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 a38791c..786dcdf 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 c77a6d9..d9b0caf 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.180111 +Version: 0.1.180222 Release: 1 Group: Applications License: Apache-2.0 -- 2.7.4