/** * @brief Get all ISEs support languages. * * @param all_langs The list to store all languages. */ void isf_get_all_languages (std::vector<String> &all_langs) { String lang_name; for (MapStringVectorSizeT::iterator it = _groups.begin (); it != _groups.end (); ++it) { lang_name = scim_get_language_name_english (it->first); all_langs.push_back (lang_name); } }
/** * @brief Get all ISE names for the specific languages. * * @param lang_list The specific languages list. * @param ise_names The list to store ISE names . */ void isf_get_all_ise_names_in_languages (std::vector<String> lang_list, std::vector<String> &ise_names) { String lang_name; for (MapStringVectorSizeT::iterator it = _groups.begin (); it != _groups.end (); ++it) { lang_name = scim_get_language_name_english (it->first); if (std::find (lang_list.begin (), lang_list.end (), lang_name) != lang_list.end ()) { for (size_t i = 0; i < it->second.size (); i++) { if (_current_modules_list.size () > 0 && std::find (_current_modules_list.begin (), _current_modules_list.end (), _module_names[it->second[i]]) == _current_modules_list.end ()) continue; // Avoid to add the same ise if (std::find (ise_names.begin (), ise_names.end (), _names[it->second[i]]) == ise_names.end ()) ise_names.push_back (_names[it->second[i]]); } } } }
/** * @brief Get all keyboard ISE uuids for the specific languages. * * @param lang_list The specific languages list. * @param keyboard_uuids The list to store keyboard ISE uuids. */ void isf_get_keyboard_uuids_in_languages (std::vector<String> lang_list, std::vector<String> &keyboard_uuids) { String lang_name; for (MapStringVectorSizeT::iterator it = _groups.begin (); it != _groups.end (); ++it) { lang_name = scim_get_language_name_english (it->first); if (std::find (lang_list.begin (), lang_list.end (), lang_name) != lang_list.end ()) { for (size_t i = 0; i < it->second.size (); i++) { if (_modes[it->second[i]] != TOOLBAR_KEYBOARD_MODE) continue; if (_current_modules_list.size () > 0 && std::find (_current_modules_list.begin (), _current_modules_list.end (), _module_names[it->second[i]]) == _current_modules_list.end ()) continue; if (std::find (keyboard_uuids.begin (), keyboard_uuids.end (), _uuids[it->second[i]]) == keyboard_uuids.end ()) keyboard_uuids.push_back (_uuids[it->second[i]]); } } } }
String scim_get_language_name (const String &lang) { return String (_(scim_get_language_name_english (lang).c_str ())); }