QList<QString> ASpellChecker::getAllLanguages() const { QList<QString> langs; AspellDictInfoList* dict_info_list = get_aspell_dict_info_list(config_); if (!aspell_dict_info_list_empty(dict_info_list)) { AspellDictInfoEnumeration* dict_info_enum = aspell_dict_info_list_elements(dict_info_list); while (!aspell_dict_info_enumeration_at_end(dict_info_enum)) { const AspellDictInfo* dict_info = aspell_dict_info_enumeration_next(dict_info_enum); QString lang(dict_info -> code); if (lang.contains('_')) lang.truncate(lang.indexOf('_')); if (!langs.contains(lang)) { langs.append(lang); } } delete_aspell_dict_info_enumeration(dict_info_enum); } return langs; }
QSet<LanguageManager::LangId> ASpellChecker::getAllLanguages() const { QSet<LanguageManager::LangId> langs; AspellDictInfoList* dict_info_list = get_aspell_dict_info_list(config_); if (!aspell_dict_info_list_empty(dict_info_list)) { AspellDictInfoEnumeration* dict_info_enum = aspell_dict_info_list_elements(dict_info_list); while (!aspell_dict_info_enumeration_at_end(dict_info_enum)) { const AspellDictInfo* dict_info = aspell_dict_info_enumeration_next(dict_info_enum); auto id = LanguageManager::fromString(QString::fromLatin1(dict_info -> code)); if (id.language) { langs.insert(id); } } delete_aspell_dict_info_enumeration(dict_info_enum); } return langs; }