summaryrefslogtreecommitdiff
path: root/plugins/autotest/testnavigationwidget.cpp
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@theqtcompany.com>2015-02-12 15:48:24 +0100
committerChristian Stenger <christian.stenger@theqtcompany.com>2015-02-17 10:26:39 +0200
commit223b43e9e0d978e1c6c2afc5002489eef09ec9e4 (patch)
tree285ee20daaaae9f17c3e8f561c0ea092e4d15c41 /plugins/autotest/testnavigationwidget.cpp
parent213a687f454682b8cd1e79fc27762ac6f374502e (diff)
downloadqt-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.cpp27
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;
}