forked from qt-creator/qt-creator
Find: Copy search string from find tool bar to advanced search
Always when pressing the "Advanced..." button it makes sense to copy the search term to the advanced search dialog. Otherwise if advanced search is triggered while the focus is in the find tool bar. Fixes: QTCREATORBUG-17964 Change-Id: I96106e769238a689ed6c55fae6de451d250aa44d Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -239,12 +239,21 @@ bool FindPrivate::isAnyFilterEnabled() const
|
||||
return Utils::anyOf(m_findDialog->findFilters(), &IFindFilter::isEnabled);
|
||||
}
|
||||
|
||||
void Find::openFindDialog(IFindFilter *filter)
|
||||
void Find::openFindDialog(IFindFilter *filter, const QString &findString)
|
||||
{
|
||||
d->m_currentDocumentFind->acceptCandidate();
|
||||
const QString currentFindString =
|
||||
d->m_currentDocumentFind->isEnabled() ?
|
||||
d->m_currentDocumentFind->currentFindString() : QString();
|
||||
const QString currentFindString = [findString] {
|
||||
if (!findString.isEmpty())
|
||||
return findString;
|
||||
if (d->m_findToolBar->isVisible()
|
||||
&& QApplication::focusWidget() == d->m_findToolBar->focusWidget()
|
||||
&& !d->m_findToolBar->getFindText().isEmpty()) {
|
||||
return d->m_findToolBar->getFindText();
|
||||
}
|
||||
if (d->m_currentDocumentFind->isEnabled())
|
||||
return d->m_currentDocumentFind->currentFindString();
|
||||
return QString();
|
||||
}();
|
||||
if (!currentFindString.isEmpty())
|
||||
d->m_findDialog->setFindText(currentFindString);
|
||||
d->m_findDialog->setCurrentFilter(filter);
|
||||
|
||||
Reference in New Issue
Block a user