QbsProjectManager: Use sensible default for enabling QML debugging

Task-number: QTCREATORBUG-19655
Change-Id: I2c330909c86c48f7c79fd2c016c41d82388e3c32
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2018-02-09 13:23:18 +01:00
parent f5856f4bbc
commit 60a3fd59d4
2 changed files with 16 additions and 20 deletions

View File

@@ -124,7 +124,8 @@ private:
// -------------------------------------------------------------------- // --------------------------------------------------------------------
QbsBuildStep::QbsBuildStep(ProjectExplorer::BuildStepList *bsl) : 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")); setDisplayName(tr("Qbs Build"));
setQbsConfiguration(QVariantMap()); setQbsConfiguration(QVariantMap());
@@ -204,6 +205,8 @@ QVariantMap QbsBuildStep::qbsConfiguration(VariableHandling variableHandling) co
{ {
QVariantMap config = m_qbsConfiguration; QVariantMap config = m_qbsConfiguration;
config.insert(Constants::QBS_FORCE_PROBES_KEY, m_forceProbes); config.insert(Constants::QBS_FORCE_PROBES_KEY, m_forceProbes);
if (m_enableQmlDebugging)
config.insert(Constants::QBS_CONFIG_QUICK_DEBUG_KEY, true);
if (variableHandling == ExpandVariables) { if (variableHandling == ExpandVariables) {
const Utils::MacroExpander *expander = Utils::globalMacroExpander(); const Utils::MacroExpander *expander = Utils::globalMacroExpander();
for (auto it = config.begin(), end = config.end(); it != end; ++it) { 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 forceProbesKey() { return QLatin1String("Qbs.forceProbesKey"); }
static QString enableQmlDebuggingKey() { return QLatin1String("Qbs.enableQmlDebuggingKey"); }
bool QbsBuildStep::fromMap(const QVariantMap &map) 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) m_qbsBuildOptions.setRemoveExistingInstallation(map.value(QBS_CLEAN_INSTALL_ROOT)
.toBool()); .toBool());
m_forceProbes = map.value(forceProbesKey()).toBool(); m_forceProbes = map.value(forceProbesKey()).toBool();
m_enableQmlDebugging = map.value(enableQmlDebuggingKey()).toBool();
return true; return true;
} }
@@ -313,6 +318,7 @@ QVariantMap QbsBuildStep::toMap() const
map.insert(QBS_CLEAN_INSTALL_ROOT, map.insert(QBS_CLEAN_INSTALL_ROOT,
m_qbsBuildOptions.removeExistingInstallation()); m_qbsBuildOptions.removeExistingInstallation());
map.insert(forceProbesKey(), m_forceProbes); map.insert(forceProbesKey(), m_forceProbes);
map.insert(enableQmlDebuggingKey(), m_enableQmlDebugging);
return map; return map;
} }
@@ -412,13 +418,6 @@ QString QbsBuildStep::buildVariant() const
return qbsConfiguration(PreserveVariables).value(Constants::QBS_CONFIG_VARIANT_KEY).toString(); 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) void QbsBuildStep::setBuildVariant(const QString &variant)
{ {
if (m_qbsConfiguration.value(Constants::QBS_CONFIG_VARIANT_KEY).toString() == variant) if (m_qbsConfiguration.value(Constants::QBS_CONFIG_VARIANT_KEY).toString() == variant)
@@ -790,17 +789,8 @@ void QbsBuildStepConfigWidget::applyCachedProperties()
void QbsBuildStepConfigWidget::linkQmlDebuggingLibraryChecked(bool checked) 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_ignoreChange = true;
m_step->setQbsConfiguration(data); m_step->setQmlDebuggingEnabled(checked);
m_ignoreChange = false; m_ignoreChange = false;
} }

View File

@@ -45,7 +45,8 @@ class QbsBuildStep : public ProjectExplorer::BuildStep
Q_OBJECT Q_OBJECT
// used in DebuggerRunConfigurationAspect // used in DebuggerRunConfigurationAspect
Q_PROPERTY(bool linkQmlDebuggingLibrary READ isQmlDebuggingEnabled) Q_PROPERTY(bool linkQmlDebuggingLibrary READ isQmlDebuggingEnabled
WRITE setQmlDebuggingEnabled NOTIFY qbsConfigurationChanged)
public: public:
enum VariableHandling enum VariableHandling
@@ -81,7 +82,11 @@ public:
void setForceProbes(bool force) { m_forceProbes = force; emit qbsConfigurationChanged(); } void setForceProbes(bool force) { m_forceProbes = force; emit qbsConfigurationChanged(); }
bool forceProbes() const { return m_forceProbes; } 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: signals:
void qbsConfigurationChanged(); void qbsConfigurationChanged();
@@ -119,6 +124,7 @@ private:
QVariantMap m_qbsConfiguration; QVariantMap m_qbsConfiguration;
qbs::BuildOptions m_qbsBuildOptions; qbs::BuildOptions m_qbsBuildOptions;
bool m_forceProbes = false; bool m_forceProbes = false;
bool m_enableQmlDebugging;
// Temporary data: // Temporary data:
QStringList m_changedFiles; QStringList m_changedFiles;