diff options
author | hjk <hjk@qt.io> | 2018-03-16 16:34:39 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2018-04-04 16:09:49 +0000 |
commit | 150011823e8c933421b1a9d34a9f6dc0f5665f5f (patch) | |
tree | f96655a6911d6306292386ab441ee2d39949d1f8 /src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp | |
parent | efd9b08eb4acdef8c8862ae1d44c164da5a2def7 (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.cpp | 31 |
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; } |