aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2018-03-16 16:34:39 +0100
committerhjk <hjk@qt.io>2018-04-04 16:09:49 +0000
commit150011823e8c933421b1a9d34a9f6dc0f5665f5f (patch)
treef96655a6911d6306292386ab441ee2d39949d1f8 /src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
parentefd9b08eb4acdef8c8862ae1d44c164da5a2def7 (diff)
Qbs: Split mangled build key only when needed
Easier to keep one variable in sync than three, and moves the code closer towards a unified pattern in the local runconfigurations. Change-Id: I2df09127d476be4ddab466f8a709a2b383a76b97 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp')
-rw-r--r--src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
index 7a9e4e4229..c5bf92f8cf 100644
--- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
+++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
@@ -193,10 +193,6 @@ bool QbsRunConfiguration::fromMap(const QVariantMap &map)
m_buildKey = ProjectExplorer::idFromMap(map).suffixAfter(id());
m_usingLibraryPaths = map.value(usingLibraryPathsKey(), true).toBool();
- const int sepPos = m_buildKey.indexOf(rcNameSeparator());
- m_productDisplayName = sepPos == -1 ? QString() : m_buildKey.mid(sepPos + rcNameSeparator().size());
- m_uniqueProductName = m_buildKey.left(sepPos);
-
setDefaultDisplayName(defaultDisplayName());
return true;
@@ -204,17 +200,12 @@ bool QbsRunConfiguration::fromMap(const QVariantMap &map)
QString QbsRunConfiguration::extraId() const
{
- return m_uniqueProductName + rcNameSeparator() + m_productDisplayName;
+ return m_buildKey;
}
void QbsRunConfiguration::doAdditionalSetup(const RunConfigurationCreationInfo &rci)
{
m_buildKey = rci.buildKey;
-
- const int sepPos = m_buildKey.indexOf(rcNameSeparator());
- m_productDisplayName = sepPos == -1 ? QString() : m_buildKey.mid(sepPos + rcNameSeparator().size());
- m_uniqueProductName = m_buildKey.left(sepPos);
-
setDefaultDisplayName(defaultDisplayName());
}
@@ -272,17 +263,12 @@ QString QbsRunConfiguration::buildSystemTarget() const
return m_buildKey;
}
-QString QbsRunConfiguration::uniqueProductName() const
-{
- return m_uniqueProductName;
-}
-
QString QbsRunConfiguration::defaultDisplayName()
{
- QString defaultName = m_productDisplayName;
- if (defaultName.isEmpty())
- defaultName = tr("Qbs Run Configuration");
- return defaultName;
+ const int sepPos = m_buildKey.indexOf(rcNameSeparator());
+ if (sepPos == -1)
+ return tr("Qbs Run Configuration");
+ return m_buildKey.mid(sepPos + rcNameSeparator().size());
}
Utils::OutputFormatter *QbsRunConfiguration::createOutputFormatter() const
@@ -298,8 +284,11 @@ void QbsRunConfiguration::handleBuildSystemDataUpdated()
bool QbsRunConfiguration::canRunForNode(const Node *node) const
{
- if (auto pn = dynamic_cast<const QbsProductNode *>(node))
- return m_uniqueProductName == QbsProject::uniqueProductName(pn->qbsProductData());
+ if (auto pn = dynamic_cast<const QbsProductNode *>(node)) {
+ const int sepPos = m_buildKey.indexOf(rcNameSeparator());
+ const QString uniqueProductName = m_buildKey.left(sepPos);
+ return uniqueProductName == QbsProject::uniqueProductName(pn->qbsProductData());
+ }
return false;
}