diff --git a/src/plugins/autotest/testresultspane.cpp b/src/plugins/autotest/testresultspane.cpp index be6df5f6468..971df223cae 100644 --- a/src/plugins/autotest/testresultspane.cpp +++ b/src/plugins/autotest/testresultspane.cpp @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -137,6 +138,9 @@ TestResultsPane::TestResultsPane(QObject *parent) : this, &TestResultsPane::onTestRunFinished); connect(TestRunner::instance(), &TestRunner::testResultReady, this, &TestResultsPane::addTestResult); + connect(ProjectExplorer::ProjectExplorerPlugin::instance(), + &ProjectExplorer::ProjectExplorerPlugin::updateRunActions, + this, &TestResultsPane::updateRunActions); } void TestResultsPane::createToolButtons() @@ -255,13 +259,13 @@ void TestResultsPane::visibilityChanged(bool visible) return; if (visible) { connect(TestTreeModel::instance(), &TestTreeModel::testTreeModelChanged, - this, &TestResultsPane::onTestTreeModelChanged); + this, &TestResultsPane::updateRunActions); // make sure run/run all are in correct state - onTestTreeModelChanged(); + updateRunActions(); TestTreeModel::instance()->enableParsing(); } else { disconnect(TestTreeModel::instance(), &TestTreeModel::testTreeModelChanged, - this, &TestResultsPane::onTestTreeModelChanged); + this, &TestResultsPane::updateRunActions); TestTreeModel::instance()->disableParsing(); } m_wasVisibleBefore = visible; @@ -507,9 +511,12 @@ void TestResultsPane::onScrollBarRangeChanged(int, int max) m_treeView->verticalScrollBar()->setValue(max); } -void TestResultsPane::onTestTreeModelChanged() +void TestResultsPane::updateRunActions() { - const bool enable = TestTreeModel::instance()->hasTests(); + QString whyNot; + const bool enable = TestTreeModel::instance()->hasTests() + && ProjectExplorer::ProjectExplorerPlugin::canRunStartupProject( + ProjectExplorer::Constants::NORMAL_RUN_MODE, &whyNot); m_runAll->setEnabled(enable); m_runSelected->setEnabled(enable); } diff --git a/src/plugins/autotest/testresultspane.h b/src/plugins/autotest/testresultspane.h index 47291850b7c..86b9bbd4a92 100644 --- a/src/plugins/autotest/testresultspane.h +++ b/src/plugins/autotest/testresultspane.h @@ -108,7 +108,7 @@ private: void onTestRunStarted(); void onTestRunFinished(); void onScrollBarRangeChanged(int, int max); - void onTestTreeModelChanged(); + void updateRunActions(); void onCustomContextMenuRequested(const QPoint &pos); void onCopyItemTriggered(const QModelIndex &idx); void onCopyWholeTriggered();