QbsProjectManager: Add GUI for forcing Probes re-execution.

Change-Id: I67e2f6d24bd923c9691a9b8aaec161d01f38a16c
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
This commit is contained in:
Christian Kandeler
2016-06-17 17:22:30 +02:00
parent b57ed862e9
commit 08dcad9c82
5 changed files with 33 additions and 2 deletions

View File

@@ -148,7 +148,9 @@ void QbsBuildStep::cancel()
QVariantMap QbsBuildStep::qbsConfiguration() const QVariantMap QbsBuildStep::qbsConfiguration() const
{ {
return m_qbsConfiguration; QVariantMap config = m_qbsConfiguration;
config.insert(QLatin1String(Constants::QBS_FORCE_PROBES_KEY), m_forceProbes);
return config;
} }
void QbsBuildStep::setQbsConfiguration(const QVariantMap &config) void QbsBuildStep::setQbsConfiguration(const QVariantMap &config)
@@ -197,6 +199,8 @@ int QbsBuildStep::maxJobs() const
return qbs::BuildOptions::defaultMaxJobCount(); return qbs::BuildOptions::defaultMaxJobCount();
} }
static QString forceProbesKey() { return QLatin1String("Qbs.forceProbesKey"); }
bool QbsBuildStep::fromMap(const QVariantMap &map) bool QbsBuildStep::fromMap(const QVariantMap &map)
{ {
if (!ProjectExplorer::BuildStep::fromMap(map)) if (!ProjectExplorer::BuildStep::fromMap(map))
@@ -212,6 +216,7 @@ bool QbsBuildStep::fromMap(const QVariantMap &map)
m_qbsBuildOptions.setInstall(map.value(QLatin1String(QBS_INSTALL), true).toBool()); m_qbsBuildOptions.setInstall(map.value(QLatin1String(QBS_INSTALL), true).toBool());
m_qbsBuildOptions.setRemoveExistingInstallation(map.value(QLatin1String(QBS_CLEAN_INSTALL_ROOT)) m_qbsBuildOptions.setRemoveExistingInstallation(map.value(QLatin1String(QBS_CLEAN_INSTALL_ROOT))
.toBool()); .toBool());
m_forceProbes = map.value(forceProbesKey()).toBool();
return true; return true;
} }
@@ -227,6 +232,7 @@ QVariantMap QbsBuildStep::toMap() const
map.insert(QLatin1String(QBS_INSTALL), m_qbsBuildOptions.install()); map.insert(QLatin1String(QBS_INSTALL), m_qbsBuildOptions.install());
map.insert(QLatin1String(QBS_CLEAN_INSTALL_ROOT), map.insert(QLatin1String(QBS_CLEAN_INSTALL_ROOT),
m_qbsBuildOptions.removeExistingInstallation()); m_qbsBuildOptions.removeExistingInstallation());
map.insert(forceProbesKey(), m_forceProbes);
return map; return map;
} }
@@ -478,6 +484,8 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
&QbsBuildStepConfigWidget::changeInstall); &QbsBuildStepConfigWidget::changeInstall);
connect(m_ui->cleanInstallRootCheckBox, &QCheckBox::toggled, this, connect(m_ui->cleanInstallRootCheckBox, &QCheckBox::toggled, this,
&QbsBuildStepConfigWidget::changeCleanInstallRoot); &QbsBuildStepConfigWidget::changeCleanInstallRoot);
connect(m_ui->forceProbesCheckBox, &QCheckBox::toggled, this,
&QbsBuildStepConfigWidget::changeForceProbes);
connect(m_ui->qmlDebuggingLibraryCheckBox, SIGNAL(toggled(bool)), connect(m_ui->qmlDebuggingLibraryCheckBox, SIGNAL(toggled(bool)),
this, SLOT(linkQmlDebuggingLibraryChecked(bool))); this, SLOT(linkQmlDebuggingLibraryChecked(bool)));
connect(QtSupport::QtVersionManager::instance(), SIGNAL(dumpUpdatedFor(Utils::FileName)), connect(QtSupport::QtVersionManager::instance(), SIGNAL(dumpUpdatedFor(Utils::FileName)),
@@ -508,6 +516,7 @@ void QbsBuildStepConfigWidget::updateState()
m_ui->showCommandLinesCheckBox->setChecked(m_step->showCommandLines()); m_ui->showCommandLinesCheckBox->setChecked(m_step->showCommandLines());
m_ui->installCheckBox->setChecked(m_step->install()); m_ui->installCheckBox->setChecked(m_step->install());
m_ui->cleanInstallRootCheckBox->setChecked(m_step->cleanInstallRoot()); m_ui->cleanInstallRootCheckBox->setChecked(m_step->cleanInstallRoot());
m_ui->forceProbesCheckBox->setChecked(m_step->forceProbes());
updatePropertyEdit(m_step->qbsConfiguration()); updatePropertyEdit(m_step->qbsConfiguration());
m_ui->qmlDebuggingLibraryCheckBox->setChecked(m_step->isQmlDebuggingEnabled()); m_ui->qmlDebuggingLibraryCheckBox->setChecked(m_step->isQmlDebuggingEnabled());
} }
@@ -614,6 +623,13 @@ void QbsBuildStepConfigWidget::changeCleanInstallRoot(bool clean)
m_ignoreChange = false; m_ignoreChange = false;
} }
void QbsBuildStepConfigWidget::changeForceProbes(bool forceProbes)
{
m_ignoreChange = true;
m_step->setForceProbes(forceProbes);
m_ignoreChange = false;
}
void QbsBuildStepConfigWidget::applyCachedProperties() void QbsBuildStepConfigWidget::applyCachedProperties()
{ {
QVariantMap data; QVariantMap data;

View File

@@ -68,6 +68,9 @@ public:
int maxJobs() const; int maxJobs() const;
QString buildVariant() const; QString buildVariant() const;
void setForceProbes(bool force) { m_forceProbes = force; emit qbsConfigurationChanged(); }
bool forceProbes() const { return m_forceProbes; }
bool isQmlDebuggingEnabled() const; bool isQmlDebuggingEnabled() const;
bool fromMap(const QVariantMap &map) override; bool fromMap(const QVariantMap &map) override;
@@ -106,6 +109,7 @@ private:
QVariantMap m_qbsConfiguration; QVariantMap m_qbsConfiguration;
qbs::BuildOptions m_qbsBuildOptions; qbs::BuildOptions m_qbsBuildOptions;
bool m_forceProbes = false;
// Temporary data: // Temporary data:
QStringList m_changedFiles; QStringList m_changedFiles;
@@ -144,6 +148,7 @@ private slots:
void changeJobCount(int count); void changeJobCount(int count);
void changeInstall(bool install); void changeInstall(bool install);
void changeCleanInstallRoot(bool clean); void changeCleanInstallRoot(bool clean);
void changeForceProbes(bool forceProbes);
void applyCachedProperties(); void applyCachedProperties();
// QML debugging: // QML debugging:

View File

@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>730</width> <width>730</width>
<height>247</height> <height>256</height>
</rect> </rect>
</property> </property>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
@@ -189,6 +189,13 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2">
<widget class="QCheckBox" name="forceProbesCheckBox">
<property name="text">
<string>Force probes</string>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>

View File

@@ -59,6 +59,7 @@ static const char QBS_CONFIG_VARIANT_KEY[] = "qbs.buildVariant";
static const char QBS_CONFIG_PROFILE_KEY[] = "qbs.profile"; static const char QBS_CONFIG_PROFILE_KEY[] = "qbs.profile";
static const char QBS_CONFIG_DECLARATIVE_DEBUG_KEY[] = "Qt.declarative.qmlDebugging"; static const char QBS_CONFIG_DECLARATIVE_DEBUG_KEY[] = "Qt.declarative.qmlDebugging";
static const char QBS_CONFIG_QUICK_DEBUG_KEY[] = "Qt.quick.qmlDebugging"; static const char QBS_CONFIG_QUICK_DEBUG_KEY[] = "Qt.quick.qmlDebugging";
const char QBS_FORCE_PROBES_KEY[] = "qbspm.forceProbes";
// Icons: // Icons:
static const char QBS_GROUP_ICON[] = ":/qbsprojectmanager/images/groups.png"; static const char QBS_GROUP_ICON[] = ":/qbsprojectmanager/images/groups.png";

View File

@@ -88,6 +88,8 @@ void QbsProjectParser::parse(const QVariantMap &config, const Environment &env,
params.setTopLevelProfile(profileName); params.setTopLevelProfile(profileName);
specialKey = QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY); specialKey = QLatin1String(Constants::QBS_CONFIG_VARIANT_KEY);
params.setBuildVariant(userConfig.take(specialKey).toString()); params.setBuildVariant(userConfig.take(specialKey).toString());
specialKey = QLatin1String(Constants::QBS_FORCE_PROBES_KEY);
params.setForceProbeExecution(userConfig.take(specialKey).toBool());
params.setSettingsDirectory(QbsManager::settings()->baseDirectory()); params.setSettingsDirectory(QbsManager::settings()->baseDirectory());
params.setOverriddenValues(userConfig); params.setOverriddenValues(userConfig);