summaryrefslogtreecommitdiff
path: root/src/plugins/coreplugin/find
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2017-06-29 15:45:31 +0200
committerEike Ziller <eike.ziller@qt.io>2017-07-04 09:08:17 +0000
commit3c6a2b79124bf05abf4853b2377b7599c254a998 (patch)
tree76a8f6e284cc87f4d48af05b5adfccd4bc78cbe8 /src/plugins/coreplugin/find
parent6e7a31c4fecf82485f7b462b57f0c05218248c8a (diff)
downloadqt-creator-3c6a2b79124bf05abf4853b2377b7599c254a998.tar.gz
Extend search pane
The search term line edit can now be hidden away and the options are hidden too too if they are all disabled. Change-Id: I2363d010acbdabb2abfc6c6cd2f98c07cd7d3a3d Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/coreplugin/find')
-rw-r--r--src/plugins/coreplugin/find/finddialog.ui26
-rw-r--r--src/plugins/coreplugin/find/findtoolwindow.cpp7
-rw-r--r--src/plugins/coreplugin/find/ifindfilter.cpp11
-rw-r--r--src/plugins/coreplugin/find/ifindfilter.h1
4 files changed, 40 insertions, 5 deletions
diff --git a/src/plugins/coreplugin/find/finddialog.ui b/src/plugins/coreplugin/find/finddialog.ui
index 1f3c900b3f..7ada6ce0aa 100644
--- a/src/plugins/coreplugin/find/finddialog.ui
+++ b/src/plugins/coreplugin/find/finddialog.ui
@@ -55,7 +55,7 @@
</layout>
</item>
<item row="1" column="0">
- <widget class="QLabel" name="label_2">
+ <widget class="QLabel" name="searchLabel">
<property name="text">
<string>Sear&amp;ch for:</string>
</property>
@@ -73,7 +73,16 @@
<property name="spacing">
<number>0</number>
</property>
- <property name="margin">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -103,9 +112,18 @@
</widget>
</item>
<item row="2" column="1">
- <widget class="QWidget" name="widget" native="true">
+ <widget class="QWidget" name="optionsWidget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
- <property name="margin">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
<number>0</number>
</property>
<item>
diff --git a/src/plugins/coreplugin/find/findtoolwindow.cpp b/src/plugins/coreplugin/find/findtoolwindow.cpp
index b29dfbe4f8..ffcf385525 100644
--- a/src/plugins/coreplugin/find/findtoolwindow.cpp
+++ b/src/plugins/coreplugin/find/findtoolwindow.cpp
@@ -147,6 +147,13 @@ void FindToolWindow::updateButtonStates()
if (m_configWidget)
m_configWidget->setEnabled(filterEnabled);
+ if (m_currentFilter) {
+ m_ui.searchTerm->setVisible(m_currentFilter->showSearchTermInput());
+ m_ui.searchLabel->setVisible(m_currentFilter->showSearchTermInput());
+ m_ui.optionsWidget->setVisible(m_currentFilter->supportedFindFlags()
+ & (FindCaseSensitively | FindWholeWords | FindRegularExpression));
+ }
+
m_ui.matchCase->setEnabled(filterEnabled
&& (m_currentFilter->supportedFindFlags() & FindCaseSensitively));
m_ui.wholeWords->setEnabled(filterEnabled
diff --git a/src/plugins/coreplugin/find/ifindfilter.cpp b/src/plugins/coreplugin/find/ifindfilter.cpp
index e080e249f0..d57a16370e 100644
--- a/src/plugins/coreplugin/find/ifindfilter.cpp
+++ b/src/plugins/coreplugin/find/ifindfilter.cpp
@@ -143,6 +143,14 @@
*/
/*!
+ \fn bool showSearchTermInput() const
+ Returns whether the find filter wants to show the search term line edit.
+
+ The default value is \c true, override this function to return \c false, if
+ your find filter does not want to show the search term line edit.
+*/
+
+/*!
\fn void IFindFilter::findAll(const QString &txt, Core::FindFlags findFlags)
This function is called when the user selected this find scope and
initiated a search.
@@ -227,7 +235,8 @@ QKeySequence IFindFilter::defaultShortcut() const
FindFlags IFindFilter::supportedFindFlags() const
{
return FindCaseSensitively
- | FindRegularExpression | FindWholeWords;
+ | FindRegularExpression
+ | FindWholeWords;
}
QPixmap IFindFilter::pixmapForFindFlags(FindFlags flags)
diff --git a/src/plugins/coreplugin/find/ifindfilter.h b/src/plugins/coreplugin/find/ifindfilter.h
index 41a920379d..9c67c29fc2 100644
--- a/src/plugins/coreplugin/find/ifindfilter.h
+++ b/src/plugins/coreplugin/find/ifindfilter.h
@@ -50,6 +50,7 @@ public:
virtual bool isValid() const { return true; }
virtual QKeySequence defaultShortcut() const;
virtual bool isReplaceSupported() const { return false; }
+ virtual bool showSearchTermInput() const { return true; }
virtual FindFlags supportedFindFlags() const;
virtual void findAll(const QString &txt, FindFlags findFlags) = 0;