enchant::Dict * m = d->speller(word.lang()->code());
if (!m)
- return OK;
+ return NO_DICTIONARY;
+
+ if (word.word().empty())
+ return WORD_OK;
string utf8word = to_utf8(word.word());
if (m->check(utf8word))
- return OK;
+ return WORD_OK;
return UNKNOWN_WORD;
}
+void EnchantChecker::advanceChangeNumber()
+{
+ nextChangeNumber();
+}
+
+
void EnchantChecker::insert(WordLangTuple const & word)
{
Spellers::iterator it = d->spellers_.find(word.lang()->code());
- if (it != d->spellers_.end())
+ if (it != d->spellers_.end()) {
it->second.speller->add(to_utf8(word.word()));
+ advanceChangeNumber();
+ }
+}
+
+
+void EnchantChecker::remove(WordLangTuple const & word)
+{
+ Spellers::iterator it = d->spellers_.find(word.lang()->code());
+ if (it != d->spellers_.end()) {
+ it->second.speller->remove(to_utf8(word.word()));
+ advanceChangeNumber();
+ }
}
void EnchantChecker::accept(WordLangTuple const & word)
{
Spellers::iterator it = d->spellers_.find(word.lang()->code());
- if (it != d->spellers_.end())
+ if (it != d->spellers_.end()) {
it->second.speller->add_to_session(to_utf8(word.word()));
+ advanceChangeNumber();
+ }
}
}
+int EnchantChecker::numDictionaries() const
+{
+ return d->spellers_.size();
+}
+
+
docstring const EnchantChecker::error()
{
return docstring();