QList<Speller::Language> Speller::availableLanguages() { if (!m_availableLanguages.isEmpty()) { return m_availableLanguages; } QDirIterator it(m_dictionaryPath, QStringList("*.dic"), QDir::Files); while (it.hasNext()) { const QString affFilePath = it.next().replace(QLatin1String(".dic"), QLatin1String(".aff")); if (!QFile(affFilePath).exists()) { continue; } Language lang; lang.code = it.fileInfo().baseName(); lang.name = nameForLanguage(lang.code); if (!m_availableLanguages.contains(lang)) { m_availableLanguages.append(lang); } } return m_availableLanguages; }
void Speller::loadSettings() { Settings settings; settings.beginGroup("SpellCheck"); m_enabled = settings.value("enabled", true).toBool(); m_dictionaryPath = settings.value("dictionaryPath", getDictionaryPath()).toString(); m_language.code = settings.value("language", mApp->currentLanguage()).toString(); m_language.name = nameForLanguage(m_language.code); settings.endGroup(); m_userDictionary.setFileName(mApp->currentProfilePath() + "userdictionary.txt"); if (m_enabled) { initialize(); } }
QHash<QString, QString> Speller::availableLanguages() { if (!m_availableLanguages.isEmpty()) { return m_availableLanguages; } QDirIterator it(m_dictionaryPath, QStringList("*.dic"), QDir::Files); while (it.hasNext()) { const QString affFilePath = it.next().replace(QLatin1String(".dic"), QLatin1String(".aff")); if (!QFile(affFilePath).exists()) { continue; } QString code = it.fileInfo().baseName(); QString name = nameForLanguage(code); m_availableLanguages[code] = name; } return m_availableLanguages; }