From: InHong Han Date: Fri, 22 Jan 2021 04:51:05 +0000 (+0900) Subject: Fix issue that newly installed IME isn't added to IME list X-Git-Tag: submit/tizen/20210122.064324~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03689f8b146c12608dc7a58b10dde7571be73efa;p=platform%2Fcore%2Fuifw%2Finputmethod-setting.git Fix issue that newly installed IME isn't added to IME list Change-Id: Ic87abd9198cefaf0cbece606be1a29285bbc9278 --- diff --git a/common/ime_info.cpp b/common/ime_info.cpp index f8629c0..c548020 100644 --- a/common/ime_info.cpp +++ b/common/ime_info.cpp @@ -22,6 +22,11 @@ #include #include +#ifdef LOG_TAG +#undef LOG_TAG +#endif +#define LOG_TAG "INPUTMETHOD_SETTING_LIST" + class ime_info_compare { public: @@ -45,7 +50,7 @@ void im_setting_sort_ime_info(std::vector &preinstall, std::vector &active_ime_info_list, int &active_ime_id) +bool im_setting_load_ime_info(std::vector &active_ime_info_list, int &active_ime_id, bool check_enabled) { bool result = true; std::vector active_ime_info_list_preinstall; @@ -68,10 +73,11 @@ bool im_setting_load_ime_info(std::vector &active_ime_info_list, int for (int i = 0; i < cnt; ++i) { SECURE_LOGD("%s %s %d %d %d\n", info[i].appid, info[i].label, info[i].is_enabled, info[i].is_preinstalled, info[i].has_option); - if (info[i].is_enabled && info[i].is_preinstalled) { - active_ime_info_list_preinstall.push_back(info[i]); - } else if (info[i].is_enabled) { - active_ime_info_list_user.push_back(info[i]); + if (!check_enabled || info[i].is_enabled) { + if (info[i].is_preinstalled) + active_ime_info_list_preinstall.push_back(info[i]); + else + active_ime_info_list_user.push_back(info[i]); } } free(info); diff --git a/common/ime_info.h b/common/ime_info.h index 456ac97..0c60742 100644 --- a/common/ime_info.h +++ b/common/ime_info.h @@ -22,6 +22,6 @@ void im_setting_sort_ime_info(std::vector &preinstall, std::vector &user, std::vector &ime_info_list); -bool im_setting_load_ime_info(std::vector &active_ime_info_list, int &active_ime_id); +bool im_setting_load_ime_info(std::vector &active_ime_info_list, int &active_ime_id, bool check_enabled); #endif diff --git a/im_setting_list/input_method_setting_list_popup_view.cpp b/im_setting_list/input_method_setting_list_popup_view.cpp index 20f3c51..2c66b16 100644 --- a/im_setting_list/input_method_setting_list_popup_view.cpp +++ b/im_setting_list/input_method_setting_list_popup_view.cpp @@ -61,7 +61,7 @@ void im_setting_list_update_window_selector(void *data) if (!ad) return; - im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id); + im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id, true); im_setting_list_update_window(ad); } @@ -121,7 +121,7 @@ static void im_setting_list_ime_sel_cb(void *data, Evas_Object *obj, void *event static void gl_lang_changed(void *data, Evas_Object *obj, void *event_info) { - im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id); + im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id, true); elm_genlist_realized_items_update(obj); } @@ -256,7 +256,7 @@ static Evas_Object *im_setting_list_popup_create(void *data) #ifdef _WEARABLE static void _active_keyboard_changed_cb(keynode_t* node, void* data) { - im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id); + im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id, true); if (group_radio != NULL) { elm_radio_value_set(group_radio, g_active_ime_id); } @@ -364,7 +364,7 @@ im_setting_list_popup_view_create(void *data) if (!ad || !ad->win) return; - im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id); + im_setting_load_ime_info(g_active_ime_info_list, g_active_ime_id, true); #ifdef _WEARABLE im_setting_list_screen_create(data); diff --git a/im_setting_list/input_method_setting_list_ui.cpp b/im_setting_list/input_method_setting_list_ui.cpp index c4ee427..48c6d95 100644 --- a/im_setting_list/input_method_setting_list_ui.cpp +++ b/im_setting_list/input_method_setting_list_ui.cpp @@ -442,7 +442,7 @@ static Evas_Object *im_setting_list_naviframe_create(Evas_Object* parent) static void gl_lang_changed(void *data, Evas_Object *obj, void *event_info) { /* Reload ime list for getting translated IME name */ - im_setting_load_ime_info(g_ime_info_list, g_active_ime_index); + im_setting_load_ime_info(g_ime_info_list, g_active_ime_index, false); /* Set translated active IME name */ snprintf(item_text[0].sub_text, sizeof(item_text[0].sub_text), "%s", g_ime_info_list[g_active_ime_index].label); @@ -904,7 +904,7 @@ void im_setting_list_update_window(void *data) if (!ad) return; - im_setting_load_ime_info(g_ime_info_list, g_active_ime_index); + im_setting_load_ime_info(g_ime_info_list, g_active_ime_index, false); im_setting_list_add_ime(ad); } @@ -938,7 +938,7 @@ im_setting_list_app_create(void *data) im_setting_list_text_domain_set(); ad->win = im_setting_list_main_window_create(PACKAGE, ad->app_type); im_setting_list_bg_create(ad->win); - im_setting_load_ime_info(g_ime_info_list, g_active_ime_index); + im_setting_load_ime_info(g_ime_info_list, g_active_ime_index, false); if (!pkgmgr) { int ret = package_manager_create(&pkgmgr); diff --git a/im_setting_selector/input_method_setting_selector_ui.cpp b/im_setting_selector/input_method_setting_selector_ui.cpp index c8742f3..369481a 100644 --- a/im_setting_selector/input_method_setting_selector_ui.cpp +++ b/im_setting_selector/input_method_setting_selector_ui.cpp @@ -377,7 +377,7 @@ im_setting_selector_app_create(void *data) return; im_setting_selector_text_domain_set(); ad->win = im_setting_selector_main_window_create(PACKAGE); - im_setting_load_ime_info(g_ime_info_list, g_active_ime_id); + im_setting_load_ime_info(g_ime_info_list, g_active_ime_id, true); #ifdef _WEARABLE im_setting_selector_screen_create(ad); #else