9#include "settingsimpl_p.h"
10#include "spellerplugin_p.h"
12#include "core_debug.h"
29 void init(
const QString &lang)
31 Loader *loader = Loader::openLoader();
32 settings = loader->settings();
38 QSharedPointer<SpellerPlugin> dict()
const
41 m_dict = Loader::openLoader()->cachedSpeller(language);
48 if (settings->modified()) {
50 settings->setModified(
false);
57 Loader::openLoader()->clearSpellerCache();
61 mutable QSharedPointer<SpellerPlugin> m_dict;
62 SettingsImpl *settings =
nullptr;
66Speller::Speller(
const QString &lang)
67 : d(new SpellerPrivate)
74 qCDebug(SONNET_LOG_CORE) <<
"deleting" <<
this <<
"for" << d->language;
77Speller::Speller(
const Speller &speller)
78 : d(new SpellerPrivate)
80 d->language = speller.language();
84Speller &Speller::operator=(
const Speller &speller)
86 d->language = speller.language();
96 return d->dict()->isCorrect(word);
104 return d->dict()->isMisspelled(word);
112 return d->dict()->suggest(word);
120 return d->dict()->checkAndSuggest(word, suggestions);
128 return d->dict()->storeReplacement(bad, good);
136 return d->dict()->addToPersonal(word);
144 return d->dict()->addToSession(word);
152 return d->dict()->language();
162void Speller::restore()
165 d->settings->restore();
172 Loader *l = Loader::openLoader();
178 Loader *l = Loader::openLoader();
179 return l->languages();
184 Loader *l = Loader::openLoader();
185 return l->languageNames();
188void Speller::setDefaultLanguage(
const QString &lang)
190 if (d->settings->setDefaultLanguage(lang)) {
195QString Speller::defaultLanguage()
const
197 return d->settings->defaultLanguage();
200void Speller::setDefaultClient(
const QString &client)
202 if (d->settings->setDefaultClient(client)) {
207QString Speller::defaultClient()
const
209 return d->settings->defaultClient();
212void Speller::setAttribute(Attribute attr,
bool b)
216 d->settings->setCheckUppercase(b);
218 case SkipRunTogether:
219 d->settings->setSkipRunTogether(b);
221 case AutoDetectLanguage:
222 d->settings->setAutodetectLanguage(b);
228bool Speller::testAttribute(Attribute attr)
const
232 return d->settings->checkUppercase();
233 case SkipRunTogether:
234 return d->settings->skipRunTogether();
235 case AutoDetectLanguage:
236 return d->settings->autodetectLanguage();
243 return !d->dict().isNull();
254 Loader *l = Loader::openLoader();
258 for (
const QString &tag : lst) {
259 langs.
insert(l->languageNameForCode(tag), tag);
267 Loader *l = Loader::openLoader();
270 for (
const QString &tag : l->settings()->preferredLanguages()) {
271 langs.
insert(l->languageNameForCode(tag), tag);
QMap< QString, QString > preferredDictionaries() const
bool checkAndSuggest(const QString &word, QStringList &suggestions) const
Convenience method calling isCorrect() and suggest() if the word isn't correct.
bool addToSession(const QString &word)
Adds word to the words recognizable in the current session.
QStringList availableBackends() const
QStringList availableLanguageNames() const
bool isMisspelled(const QString &word) const
Checks the given word.
QStringList suggest(const QString &word) const
Fetches suggestions for the word.
QMap< QString, QString > availableDictionaries() const
bool addToPersonal(const QString &word)
Adds word to the list of of personal words.
bool isCorrect(const QString &word) const
Checks the given word.
bool storeReplacement(const QString &bad, const QString &good)
Stores user defined good replacement for the bad word.
void setLanguage(const QString &lang)
Sets the language supported by this speller.
QStringList availableLanguages() const
iterator insert(const Key &key, const T &value)
bool isNull() const const