diff options
author | Christian Stenger <christian.stenger@theqtcompany.com> | 2015-02-12 15:48:24 +0100 |
---|---|---|
committer | Christian Stenger <christian.stenger@theqtcompany.com> | 2015-02-17 10:26:39 +0200 |
commit | 223b43e9e0d978e1c6c2afc5002489eef09ec9e4 (patch) | |
tree | 285ee20daaaae9f17c3e8f561c0ea092e4d15c41 /plugins/autotest/testnavigationwidget.cpp | |
parent | 213a687f454682b8cd1e79fc27762ac6f374502e (diff) | |
download | qt-creator-223b43e9e0d978e1c6c2afc5002489eef09ec9e4.tar.gz |
Enable and disable parser on demand
The new approach enables the parser as soon the Tests navigation
widget or the Tests results pane is visible.
If none is displayed parsing will be disabled.
This additionally fixes an issue of not parsing a project
when having a project opened already before triggering the
first Tests navigation widget to become visible.
Change-Id: I7163268d405e07e85814097d65ff34790a98a3d1
Reviewed-by: Andre Poenitz <andre.poenitz@theqtcompany.com>
Diffstat (limited to 'plugins/autotest/testnavigationwidget.cpp')
-rw-r--r-- | plugins/autotest/testnavigationwidget.cpp | 27 |
1 files changed, 6 insertions, 21 deletions
diff --git a/plugins/autotest/testnavigationwidget.cpp b/plugins/autotest/testnavigationwidget.cpp index 0f1fca7a41..8338455623 100644 --- a/plugins/autotest/testnavigationwidget.cpp +++ b/plugins/autotest/testnavigationwidget.cpp @@ -26,12 +26,8 @@ #include "testtreeitem.h" #include <coreplugin/find/itemviewfind.h> -#include <projectexplorer/session.h> -#include <cpptools/cppmodelmanager.h> -#include <qmljstools/qmljsmodelmanager.h> #include <coreplugin/coreconstants.h> #include <coreplugin/icore.h> -#include <projectexplorer/project.h> #include <texteditor/texteditor.h> #include <QToolButton> @@ -58,26 +54,14 @@ TestNavigationWidget::TestNavigationWidget(QWidget *parent) : layout->addWidget(Core::ItemViewFind::createSearchableWrapper(m_view)); setLayout(layout); - TestCodeParser *parser = m_model->parser(); - ProjectExplorer::SessionManager *sm = ProjectExplorer::SessionManager::instance(); - connect(sm, &ProjectExplorer::SessionManager::startupProjectChanged, - parser, &TestCodeParser::emitUpdateTestTree); - - CppTools::CppModelManager *cppMM = CppTools::CppModelManager::instance(); - connect(cppMM, &CppTools::CppModelManager::documentUpdated, - parser, &TestCodeParser::onCppDocumentUpdated, Qt::QueuedConnection); - connect(cppMM, &CppTools::CppModelManager::aboutToRemoveFiles, - parser, &TestCodeParser::removeFiles, Qt::QueuedConnection); - - QmlJS::ModelManagerInterface *qmlJsMM = QmlJSTools::Internal::ModelManager::instance(); - connect(qmlJsMM, &QmlJS::ModelManagerInterface::documentUpdated, - parser, &TestCodeParser::onQmlDocumentUpdated, Qt::QueuedConnection); - connect(qmlJsMM, &QmlJS::ModelManagerInterface::aboutToRemoveFiles, - parser, &TestCodeParser::removeFiles, Qt::QueuedConnection); - connect(m_view, &TestTreeView::activated, this, &TestNavigationWidget::onItemActivated); } +TestNavigationWidget::~TestNavigationWidget() +{ + m_model->disableParsing(); +} + void TestNavigationWidget::contextMenuEvent(QContextMenuEvent *event) { const bool enabled = !TestRunner::instance()->isTestRunning(); @@ -223,6 +207,7 @@ Core::NavigationView TestNavigationWidgetFactory::createWidget() Core::NavigationView view; view.widget = treeViewWidget; view.dockToolBarWidgets = treeViewWidget->createToolButtons(); + TestTreeModel::instance()->enableParsing(); return view; } |