AutoTest: Allow framework specific tool tip on settings

The grouping checkbox enables grouping, but frameworks can have
more grouping modes than the default implementation.
Allow frameworks to provide its own tool tip for the checkbox
on the general settings page.

Change-Id: I0515e542284491a669ef33820104a32074ecf885
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Stenger
2018-03-13 10:04:46 +01:00
parent aee959ea1d
commit 86b78bde5d
6 changed files with 22 additions and 2 deletions

View File

@@ -81,6 +81,13 @@ QString GTestFramework::currentGTestFilter()
return gSettings.isNull() ? QString("*.*") : gSettings->gtestFilter;
}
QString GTestFramework::groupingToolTip() const
{
return QCoreApplication::translate("GTestFramework",
"Enable or disable grouping of test cases by folder or "
"gtest filter.\nSee also Google Test settings.");
}
GTest::Constants::GroupMode GTestFramework::groupMode()
{
static const Core::Id id

View File

@@ -42,6 +42,7 @@ public:
bool hasFrameworkSettings() const override;
static GTest::Constants::GroupMode groupMode();
static QString currentGTestFilter();
QString groupingToolTip() const override;
protected:
ITestParser *createTestParser() const override;
TestTreeItem *createRootNode() const override;

View File

@@ -71,7 +71,8 @@ public:
void setActive(bool active) { m_active = active; }
bool grouping() const { return m_grouping; }
void setGrouping(bool group) { m_grouping = group; }
// framework specific tool tip to be displayed on the general settings page
virtual QString groupingToolTip() const { return QString(); }
protected:
virtual ITestParser *createTestParser() const = 0;
virtual TestTreeItem *createRootNode() const = 0;

View File

@@ -194,6 +194,13 @@ void TestFrameworkManager::setGroupingEnabledFor(const Core::Id &frameworkId, bo
framework->setGrouping(enabled);
}
QString TestFrameworkManager::groupingToolTip(const Core::Id &frameworkId) const
{
if (ITestFramework *framework = m_registeredFrameworks.value(frameworkId))
return framework->groupingToolTip();
return QString();
}
bool TestFrameworkManager::hasActiveFrameworks() const
{
for (ITestFramework *framework : m_registeredFrameworks.values()) {

View File

@@ -67,6 +67,7 @@ public:
bool isActive(const Core::Id &frameworkId) const;
bool groupingEnabled(const Core::Id &frameworkId) const;
void setGroupingEnabledFor(const Core::Id &frameworkId, bool enabled);
QString groupingToolTip(const Core::Id &frameworkId) const;
bool hasActiveFrameworks() const;
private:

View File

@@ -184,7 +184,10 @@ void TestSettingsWidget::populateFrameworksListWidget(const QHash<Core::Id, bool
: Qt::Unchecked);
item->setToolTip(0, tr("Enable or disable test frameworks to be handled by the AutoTest "
"plugin."));
item->setToolTip(1, tr("Enable or disable grouping of test cases by folder."));
QString toolTip = frameworkManager->groupingToolTip(id);
if (toolTip.isEmpty())
toolTip = tr("Enable or disable grouping of test cases by folder.");
item->setToolTip(1, toolTip);
}
}