diff options
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsbuildstep.cpp | 26 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsbuildstep.h | 10 |
2 files changed, 16 insertions, 20 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp index 25772201ae..3ea9faeffe 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp @@ -124,7 +124,8 @@ private: // -------------------------------------------------------------------- QbsBuildStep::QbsBuildStep(ProjectExplorer::BuildStepList *bsl) : - ProjectExplorer::BuildStep(bsl, Constants::QBS_BUILDSTEP_ID) + ProjectExplorer::BuildStep(bsl, Constants::QBS_BUILDSTEP_ID), + m_enableQmlDebugging(QtSupport::BaseQtVersion::isQmlDebuggingSupported(target()->kit())) { setDisplayName(tr("Qbs Build")); setQbsConfiguration(QVariantMap()); @@ -204,6 +205,8 @@ QVariantMap QbsBuildStep::qbsConfiguration(VariableHandling variableHandling) co { QVariantMap config = m_qbsConfiguration; config.insert(Constants::QBS_FORCE_PROBES_KEY, m_forceProbes); + if (m_enableQmlDebugging) + config.insert(Constants::QBS_CONFIG_QUICK_DEBUG_KEY, true); if (variableHandling == ExpandVariables) { const Utils::MacroExpander *expander = Utils::globalMacroExpander(); for (auto it = config.begin(), end = config.end(); it != end; ++it) { @@ -280,6 +283,7 @@ int QbsBuildStep::maxJobs() const } static QString forceProbesKey() { return QLatin1String("Qbs.forceProbesKey"); } +static QString enableQmlDebuggingKey() { return QLatin1String("Qbs.enableQmlDebuggingKey"); } bool QbsBuildStep::fromMap(const QVariantMap &map) { @@ -297,6 +301,7 @@ bool QbsBuildStep::fromMap(const QVariantMap &map) m_qbsBuildOptions.setRemoveExistingInstallation(map.value(QBS_CLEAN_INSTALL_ROOT) .toBool()); m_forceProbes = map.value(forceProbesKey()).toBool(); + m_enableQmlDebugging = map.value(enableQmlDebuggingKey()).toBool(); return true; } @@ -313,6 +318,7 @@ QVariantMap QbsBuildStep::toMap() const map.insert(QBS_CLEAN_INSTALL_ROOT, m_qbsBuildOptions.removeExistingInstallation()); map.insert(forceProbesKey(), m_forceProbes); + map.insert(enableQmlDebuggingKey(), m_enableQmlDebugging); return map; } @@ -412,13 +418,6 @@ QString QbsBuildStep::buildVariant() const return qbsConfiguration(PreserveVariables).value(Constants::QBS_CONFIG_VARIANT_KEY).toString(); } -bool QbsBuildStep::isQmlDebuggingEnabled() const -{ - QVariantMap data = qbsConfiguration(PreserveVariables); - return data.value(Constants::QBS_CONFIG_DECLARATIVE_DEBUG_KEY, false).toBool() - || data.value(Constants::QBS_CONFIG_QUICK_DEBUG_KEY, false).toBool(); -} - void QbsBuildStep::setBuildVariant(const QString &variant) { if (m_qbsConfiguration.value(Constants::QBS_CONFIG_VARIANT_KEY).toString() == variant) @@ -790,17 +789,8 @@ void QbsBuildStepConfigWidget::applyCachedProperties() void QbsBuildStepConfigWidget::linkQmlDebuggingLibraryChecked(bool checked) { - QVariantMap data = m_step->qbsConfiguration(QbsBuildStep::PreserveVariables); - if (checked) { - data.insert(Constants::QBS_CONFIG_DECLARATIVE_DEBUG_KEY, checked); - data.insert(Constants::QBS_CONFIG_QUICK_DEBUG_KEY, checked); - } else { - data.remove(Constants::QBS_CONFIG_DECLARATIVE_DEBUG_KEY); - data.remove(Constants::QBS_CONFIG_QUICK_DEBUG_KEY); - } - m_ignoreChange = true; - m_step->setQbsConfiguration(data); + m_step->setQmlDebuggingEnabled(checked); m_ignoreChange = false; } diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.h b/src/plugins/qbsprojectmanager/qbsbuildstep.h index 26c569a1c9..f104152627 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.h +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.h @@ -45,7 +45,8 @@ class QbsBuildStep : public ProjectExplorer::BuildStep Q_OBJECT // used in DebuggerRunConfigurationAspect - Q_PROPERTY(bool linkQmlDebuggingLibrary READ isQmlDebuggingEnabled) + Q_PROPERTY(bool linkQmlDebuggingLibrary READ isQmlDebuggingEnabled + WRITE setQmlDebuggingEnabled NOTIFY qbsConfigurationChanged) public: enum VariableHandling @@ -81,7 +82,11 @@ public: void setForceProbes(bool force) { m_forceProbes = force; emit qbsConfigurationChanged(); } bool forceProbes() const { return m_forceProbes; } - bool isQmlDebuggingEnabled() const; + void setQmlDebuggingEnabled(bool debug) { + m_enableQmlDebugging = debug; + emit qbsConfigurationChanged(); + } + bool isQmlDebuggingEnabled() const { return m_enableQmlDebugging; } signals: void qbsConfigurationChanged(); @@ -119,6 +124,7 @@ private: QVariantMap m_qbsConfiguration; qbs::BuildOptions m_qbsBuildOptions; bool m_forceProbes = false; + bool m_enableQmlDebugging; // Temporary data: QStringList m_changedFiles; |