QTextDocument::FindFlags TextFindReplacePanel::flags() { QTextDocument::FindFlags f; if(wholeWords()) f |= QTextDocument::FindWholeWords; return f; }
void CFindDialog::saveSearchSettings() const { CSettings s; s.setValue(_settingsRootCategory + SETTINGS_BACKWARDS, searchBackwards()); s.setValue(_settingsRootCategory + SETTINGS_CASE_SENSITIVE, caseSensitive()); s.setValue(_settingsRootCategory + SETTINGS_REGEX, regex()); s.setValue(_settingsRootCategory + SETTINGS_WHOLE_WORDS, wholeWords()); }
/*! \reimp */ void TextEditFindWidget::find(const QString &ttf, bool skipCurrent, bool backward, bool *found, bool *wrapped) { if (!m_textEdit) return; QTextCursor cursor = m_textEdit->textCursor(); QTextDocument *doc = m_textEdit->document(); if (!doc || cursor.isNull()) return; if (cursor.hasSelection()) cursor.setPosition((skipCurrent && !backward) ? cursor.position() : cursor.anchor()); *found = true; QTextCursor newCursor = cursor; if (!ttf.isEmpty()) { QTextDocument::FindFlags options; if (backward) options |= QTextDocument::FindBackward; if (caseSensitive()) options |= QTextDocument::FindCaseSensitively; if (wholeWords()) options |= QTextDocument::FindWholeWords; newCursor = doc->find(ttf, cursor, options); if (newCursor.isNull()) { QTextCursor ac(doc); ac.movePosition(options & QTextDocument::FindBackward ? QTextCursor::End : QTextCursor::Start); newCursor = doc->find(ttf, ac, options); if (newCursor.isNull()) { *found = false; newCursor = cursor; } else { *wrapped = true; } } } if (!isVisible()) show(); m_textEdit->setTextCursor(newCursor); }