summaryrefslogtreecommitdiff
path: root/src/plugins/find/currentdocumentfind.cpp
diff options
context:
space:
mode:
authorcon <qtc-committer@nokia.com>2009-07-21 11:10:02 +0200
committercon <qtc-committer@nokia.com>2009-07-21 13:44:30 +0200
commit091f3727236b1ea9ba617c8d6ebb40323a6b45c3 (patch)
treeb62af22a2d229394e957a22edff788fb128bd43a /src/plugins/find/currentdocumentfind.cpp
parente1362eab38396db258470f3dbcd06c1d4200dbe6 (diff)
downloadqt-creator-091f3727236b1ea9ba617c8d6ebb40323a6b45c3.tar.gz
Making the find tool bar be more connected to the searched text.
Diffstat (limited to 'src/plugins/find/currentdocumentfind.cpp')
-rw-r--r--src/plugins/find/currentdocumentfind.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/plugins/find/currentdocumentfind.cpp b/src/plugins/find/currentdocumentfind.cpp
index 1fc029a1d9..f2eb129452 100644
--- a/src/plugins/find/currentdocumentfind.cpp
+++ b/src/plugins/find/currentdocumentfind.cpp
@@ -45,7 +45,7 @@ CurrentDocumentFind::CurrentDocumentFind()
: m_currentFind(0)
{
connect(qApp, SIGNAL(focusChanged(QWidget*, QWidget*)),
- this, SLOT(updateCurrentFindFilter(QWidget*,QWidget*)));
+ this, SLOT(updateCandidateFindFilter(QWidget*,QWidget*)));
}
void CurrentDocumentFind::removeConnections()
@@ -71,6 +71,11 @@ bool CurrentDocumentFind::isEnabled() const
return m_currentFind && (!m_currentWidget || m_currentWidget->isVisible());
}
+bool CurrentDocumentFind::candidateIsEnabled() const
+{
+ return (m_candidateFind != 0);
+}
+
bool CurrentDocumentFind::supportsReplace() const
{
QTC_ASSERT(m_currentFind, return false);
@@ -139,7 +144,7 @@ void CurrentDocumentFind::clearFindScope()
m_currentFind->clearFindScope();
}
-void CurrentDocumentFind::updateCurrentFindFilter(QWidget *old, QWidget *now)
+void CurrentDocumentFind::updateCandidateFindFilter(QWidget *old, QWidget *now)
{
Q_UNUSED(old)
QWidget *candidate = now;
@@ -149,13 +154,20 @@ void CurrentDocumentFind::updateCurrentFindFilter(QWidget *old, QWidget *now)
if (!impl)
candidate = candidate->parentWidget();
}
- if (!impl || impl == m_currentFind)
+ m_candidateWidget = candidate;
+ m_candidateFind = impl;
+ emit candidateChanged();
+}
+
+void CurrentDocumentFind::acceptCandidate()
+{
+ if (!m_candidateFind || m_candidateFind == m_currentFind)
return;
removeFindSupportConnections();
if (m_currentFind)
m_currentFind->highlightAll(QString(), 0);
- m_currentWidget = candidate;
- m_currentFind = impl;
+ m_currentWidget = m_candidateWidget;
+ m_currentFind = m_candidateFind;
if (m_currentFind) {
connect(m_currentFind, SIGNAL(changed()), this, SIGNAL(changed()));
connect(m_currentFind, SIGNAL(destroyed(QObject*)), SLOT(findSupportDestroyed()));