bool SpellCheckerCore::isWordUnderCursorMistake(Word& word) const { if(d->currentEditor.isNull() == true) { return false; } unsigned int column = d->currentEditor->currentColumn(); unsigned int line = d->currentEditor->currentLine(); QString currentFileName = d->currentEditor->document()->filePath().toString(); WordList wl; wl = d->spellingMistakesModel->mistakesForFile(currentFileName); if(wl.isEmpty() == true) { return false; } WordList::ConstIterator iter = wl.constBegin(); while(iter != wl.constEnd()) { const Word& currentWord = iter.value(); if((currentWord.lineNumber == line) && ((currentWord.columnNumber <= column) && (currentWord.columnNumber + currentWord.length) >= column)) { word = currentWord; return true; } ++iter; } return false; }
bool SpellCheckerCore::getAllOccurrencesOfWord(const Word &word, WordList& words) { if(d->currentEditor.isNull() == true) { return false; } WordList wl; QString currentFileName = d->currentEditor->document()->filePath().toString(); wl = d->spellingMistakesModel->mistakesForFile(currentFileName); if(wl.isEmpty() == true) { return false; } WordList::ConstIterator iter = wl.constBegin(); while(iter != wl.constEnd()) { const Word& currentWord = iter.value(); if(currentWord.text == word.text) { words.append(currentWord); } ++iter; } return (wl.count() > 0); }