From e623de1ede8664698c115c06246c85ec3069e358 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 16 Mar 2015 12:22:51 +0100 Subject: Global Search&Replace: Hide replace UI after replacing After replacing, the search result output pane is hidden, but when opening the search results pane again, the replace UI was still shown, and most probably using outdated information (since at least parts of the search results must have been invalidated by the replace). So, hide the replace UI when replacing, but show it again after updating the search with "search again". Change-Id: Ia759ff55c7f56694fa207d00ca6b532c95012d5b Reviewed-by: David Schulz --- src/plugins/coreplugin/find/searchresultwidget.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/plugins/coreplugin/find/searchresultwidget.cpp') diff --git a/src/plugins/coreplugin/find/searchresultwidget.cpp b/src/plugins/coreplugin/find/searchresultwidget.cpp index 1917d6ce4d..1df894f671 100644 --- a/src/plugins/coreplugin/find/searchresultwidget.cpp +++ b/src/plugins/coreplugin/find/searchresultwidget.cpp @@ -87,7 +87,8 @@ SearchResultWidget::SearchResultWidget(QWidget *parent) : m_count(0), m_preserveCaseSupported(true), m_isShowingReplaceUI(false), - m_searchAgainSupported(false) + m_searchAgainSupported(false), + m_replaceSupported(false) { QVBoxLayout *layout = new QVBoxLayout(this); layout->setMargin(0); @@ -206,7 +207,7 @@ SearchResultWidget::SearchResultWidget(QWidget *parent) : topReplaceLayout->addWidget(m_replaceButton); topReplaceLayout->addWidget(m_preserveCaseCheck); topReplaceLayout->addStretch(2); - setShowReplaceUI(false); + setShowReplaceUI(m_replaceSupported); setSupportPreserveCase(true); connect(m_searchResultTreeView, SIGNAL(jumpToSearchResult(SearchResultItem)), @@ -262,7 +263,8 @@ void SearchResultWidget::addResults(const QList &items, Search m_replaceTextEdit->setEnabled(true); // We didn't have an item before, set the focus to the search widget or replace text edit - if (m_isShowingReplaceUI) { + setShowReplaceUI(m_replaceSupported); + if (m_replaceSupported) { m_replaceTextEdit->setFocus(); m_replaceTextEdit->selectAll(); } else { @@ -294,13 +296,10 @@ int SearchResultWidget::count() const return m_count; } -QString SearchResultWidget::dontAskAgainGroup() const -{ - return m_dontAskAgainGroup; -} - -void SearchResultWidget::setDontAskAgainGroup(const QString &group) +void SearchResultWidget::setSupportsReplace(bool replaceSupported, const QString &group) { + m_replaceSupported = replaceSupported; + setShowReplaceUI(replaceSupported); m_dontAskAgainGroup = group; } @@ -475,6 +474,7 @@ void SearchResultWidget::handleReplaceButton() // by pressing return in replace line edit if (m_replaceButton->isEnabled()) { m_infoBar.clear(); + setShowReplaceUI(false); emit replaceButtonClicked(m_replaceTextEdit->text(), checkedItems(), m_preserveCaseSupported && m_preserveCaseCheck->isChecked()); } -- cgit v1.2.1