diff options
author | Marco Bubke <marco.bubke@qt.io> | 2017-06-29 15:45:31 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2017-07-04 09:08:17 +0000 |
commit | 3c6a2b79124bf05abf4853b2377b7599c254a998 (patch) | |
tree | 76a8f6e284cc87f4d48af05b5adfccd4bc78cbe8 /src/plugins/coreplugin/find | |
parent | 6e7a31c4fecf82485f7b462b57f0c05218248c8a (diff) | |
download | qt-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.ui | 26 | ||||
-rw-r--r-- | src/plugins/coreplugin/find/findtoolwindow.cpp | 7 | ||||
-rw-r--r-- | src/plugins/coreplugin/find/ifindfilter.cpp | 11 | ||||
-rw-r--r-- | src/plugins/coreplugin/find/ifindfilter.h | 1 |
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&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; |