Enable 'Run *' buttons only if tests are available

This commit is contained in:
Christian Stenger
2014-11-04 13:42:38 +01:00
committed by Christian Stenger
parent d5913658b2
commit 87e5cf87e1
5 changed files with 18 additions and 4 deletions

View File

@@ -56,6 +56,8 @@ TestResultsPane::TestResultsPane(QObject *parent) :
this, &TestResultsPane::onTestRunStarted);
connect(TestRunner::instance(), &TestRunner::testRunFinished,
this, &TestResultsPane::onTestRunFinished);
connect(TestTreeModel::instance(), &TestTreeModel::testTreeModelChanged,
this, &TestResultsPane::onTestTreeModelChanged);
}
void TestResultsPane::createToolButtons()
@@ -278,5 +280,12 @@ void TestResultsPane::onTestRunFinished()
m_runSelected->setEnabled(true);
}
void TestResultsPane::onTestTreeModelChanged()
{
bool enable = TestTreeModel::instance()->hasTests();
m_runAll->setEnabled(enable);
m_runSelected->setEnabled(enable);
}
} // namespace Internal
} // namespace Autotest

View File

@@ -84,6 +84,7 @@ private:
void createToolButtons();
void onTestRunStarted();
void onTestRunFinished();
void onTestTreeModelChanged();
Utils::ListView *m_listView;
TestResultModel *m_model;

View File

@@ -331,6 +331,9 @@ void performTestRun(QFutureInterface<void> &future, const QList<TestConfiguratio
void TestRunner::runTests()
{
// clear old log and output pane
TestResultsPane::instance()->clearContents();
if (m_selectedTests.empty()) {
TestResultsPane::instance()->addTestResult(
TestResult(QString(), QString(), QString(), ResultType::MESSAGE_FATAL,
@@ -339,7 +342,6 @@ void TestRunner::runTests()
}
ProjectExplorer::Project *project = m_selectedTests.at(0)->project();
if (!project) // add a warning or info to output? possible at all?
return;
@@ -365,9 +367,6 @@ void TestRunner::runTests()
}
}
// clear old log and output pane
TestResultsPane::instance()->clearContents();
emit testRunStarted();
QFuture<void> future = QtConcurrent::run(&performTestRun , m_selectedTests);
Core::FutureProgress *progress = Core::ProgressManager::addTask(future, tr("Running Tests"),

View File

@@ -424,6 +424,7 @@ void TestTreeModel::modifyAutoTestSubtree(int row, TestTreeItem *newItem)
} // remove rest of the items
removeRows(newChildCount, childCount - newChildCount, toBeModifiedIndex);
}
emit testTreeModelChanged();
}
void TestTreeModel::removeAutoTestSubtreeByFilePath(const QString &file)
@@ -438,6 +439,7 @@ void TestTreeModel::removeAutoTestSubtreeByFilePath(const QString &file)
break;
}
}
emit testTreeModelChanged();
}
void TestTreeModel::addAutoTest(TestTreeItem *newItem)
@@ -445,6 +447,7 @@ void TestTreeModel::addAutoTest(TestTreeItem *newItem)
beginInsertRows(index(0, 0), m_autoTestRootItem->childCount(), m_autoTestRootItem->childCount());
m_autoTestRootItem->appendChild(newItem);
endInsertRows();
emit testTreeModelChanged();
}
void TestTreeModel::removeAllAutoTests()
@@ -452,6 +455,7 @@ void TestTreeModel::removeAllAutoTests()
beginResetModel();
m_autoTestRootItem->removeChildren();
endResetModel();
emit testTreeModelChanged();
}
} // namespace Internal

View File

@@ -66,6 +66,7 @@ public:
void addAutoTest(TestTreeItem *newItem);
void removeAllAutoTests();
signals:
void testTreeModelChanged();
public slots: