From 82a0f55b1c17f2ee350b2f377ba7e3d5e73912fc Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 4 Jun 2014 15:11:46 +0200 Subject: [PATCH] Find: Add a convenience "factory" for searchable treeview wrappers Change-Id: I19890dd13d597ca71c134db7b036fa1ade0d5b5a Reviewed-by: Eike Ziller --- src/plugins/coreplugin/find/treeviewfind.cpp | 24 ++++++++++++++++++-- src/plugins/coreplugin/find/treeviewfind.h | 2 ++ src/plugins/debugger/debuggerplugin.cpp | 19 ++-------------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/plugins/coreplugin/find/treeviewfind.cpp b/src/plugins/coreplugin/find/treeviewfind.cpp index 6a1c937557..eb3ee75e18 100644 --- a/src/plugins/coreplugin/find/treeviewfind.cpp +++ b/src/plugins/coreplugin/find/treeviewfind.cpp @@ -29,9 +29,13 @@ #include "treeviewfind.h" -#include -#include +#include +#include + #include +#include +#include +#include namespace Core { @@ -126,6 +130,22 @@ IFindSupport::Result TreeViewFind::findStep(const QString &txt, FindFlags findFl return result; } +QWidget *TreeViewFind::createSearchableWrapper(QTreeView *treeView) +{ + QWidget *widget = new QWidget; + QVBoxLayout *vbox = new QVBoxLayout(widget); + vbox->setMargin(0); + vbox->setSpacing(0); + vbox->addWidget(treeView); + vbox->addWidget(new Core::FindToolBarPlaceHolder(widget)); + + Aggregation::Aggregate *agg = new Aggregation::Aggregate; + agg->add(treeView); + agg->add(new TreeViewFind(treeView)); + + return widget; +} + IFindSupport::Result TreeViewFind::find(const QString &searchTxt, FindFlags findFlags, bool startFromCurrentIndex, diff --git a/src/plugins/coreplugin/find/treeviewfind.h b/src/plugins/coreplugin/find/treeviewfind.h index 06842d2b79..824a469e3e 100644 --- a/src/plugins/coreplugin/find/treeviewfind.h +++ b/src/plugins/coreplugin/find/treeviewfind.h @@ -58,6 +58,8 @@ public: Result findIncremental(const QString &txt, FindFlags findFlags); Result findStep(const QString &txt, FindFlags findFlags); + static QWidget *createSearchableWrapper(QTreeView *treeView); + private: Result find(const QString &txt, FindFlags findFlags, bool startFromCurrentIndex, bool *wrapped); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index a362638f9d..43aefe6863 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -74,6 +74,7 @@ #include #include +#include #include #include #include @@ -125,10 +126,6 @@ #include #include -#include -#include -#include - #ifdef WITH_TESTS #include #include @@ -535,8 +532,6 @@ public: static QWidget *addSearch(BaseTreeView *treeView, const QString &title, const char *objectName) { - QWidget *widget = new QWidget; - QAction *act = debuggerCore()->action(UseAlternatingRowColors); treeView->setAlternatingRowColors(act->isChecked()); QObject::connect(act, SIGNAL(toggled(bool)), @@ -547,19 +542,9 @@ static QWidget *addSearch(BaseTreeView *treeView, const QString &title, const ch QObject::connect(act, SIGNAL(toggled(bool)), treeView, SLOT(setAlwaysAdjustColumns(bool))); - QVBoxLayout *vbox = new QVBoxLayout(widget); - vbox->setMargin(0); - vbox->setSpacing(0); - vbox->addWidget(treeView); - vbox->addWidget(new Core::FindToolBarPlaceHolder(widget)); - - Aggregation::Aggregate *agg = new Aggregation::Aggregate; - agg->add(treeView); - agg->add(new Core::TreeViewFind(treeView)); - + QWidget *widget = TreeViewFind::createSearchableWrapper(treeView); widget->setObjectName(QLatin1String(objectName)); widget->setWindowTitle(title); - return widget; } -- GitLab