void FindToolBar::openFindToolBar(bool focus) { installEventFilters(); if (!m_currentDocumentFind->candidateIsEnabled()) return; Core::FindToolBarPlaceHolder *holder = findToolBarPlaceHolder(); if (!holder) return; Core::FindToolBarPlaceHolder *previousHolder = Core::FindToolBarPlaceHolder::getCurrent(); if (previousHolder) previousHolder->setWidget(0); Core::FindToolBarPlaceHolder::setCurrent(holder); m_currentDocumentFind->acceptCandidate(); holder->setWidget(this); holder->setVisible(true); setVisible(true); if (focus) setFocus(); QString text = m_currentDocumentFind->currentFindString(); if (!text.isEmpty()) setFindText(text); m_currentDocumentFind->defineFindScope(); m_currentDocumentFind->highlightAll(getFindText(), effectiveFindFlags()); if (focus) selectFindText(); }
void FindToolBar::openFindToolBar(bool focus) { installEventFilters(); Core::FindToolBarPlaceHolder *holder = findToolBarPlaceHolder(); if (!holder) return; Core::FindToolBarPlaceHolder *previousHolder = Core::FindToolBarPlaceHolder::getCurrent(); if (previousHolder != holder) { if (previousHolder) previousHolder->setWidget(0); holder->setWidget(this); Core::FindToolBarPlaceHolder::setCurrent(holder); } m_currentDocumentFind->acceptCandidate(); holder->setVisible(true); setVisible(true); // We do not want to change the text when we currently have the focus and user presses the // find shortcut if (!focus || !toolBarHasFocus()) { QString text = m_currentDocumentFind->currentFindString(); if (!text.isEmpty()) setFindText(text); } if (focus) setFocus(); m_currentDocumentFind->defineFindScope(); m_currentDocumentFind->highlightAll(getFindText(), effectiveFindFlags()); if (focus) selectFindText(); }