forked from qt-creator/qt-creator
Correctly restore disabled shadow building setting
Task-Nr: QTCREATORBUG-4781
This commit is contained in:
@@ -125,15 +125,15 @@ ProjectExplorer::Target *Qt4DesktopTargetFactory::restore(ProjectExplorer::Proj
|
|||||||
|
|
||||||
Qt4TargetSetupWidget *Qt4DesktopTargetFactory::createTargetSetupWidget(const QString &id, const QString &proFilePath, const QtVersionNumber &number, bool importEnabled, QList<BuildConfigurationInfo> importInfos)
|
Qt4TargetSetupWidget *Qt4DesktopTargetFactory::createTargetSetupWidget(const QString &id, const QString &proFilePath, const QtVersionNumber &number, bool importEnabled, QList<BuildConfigurationInfo> importInfos)
|
||||||
{
|
{
|
||||||
Qt4DefaultTargetSetupWidget *widget
|
|
||||||
= static_cast<Qt4DefaultTargetSetupWidget *>(
|
QList<BuildConfigurationInfo> infos = this->availableBuildConfigurations(id, proFilePath, number);
|
||||||
Qt4BaseTargetFactory::createTargetSetupWidget(id, proFilePath,
|
if (infos.isEmpty())
|
||||||
number, importEnabled,
|
return 0;
|
||||||
importInfos));
|
Qt4DefaultTargetSetupWidget *widget = new Qt4DefaultTargetSetupWidget(this, id, proFilePath, infos,
|
||||||
if (widget) {
|
number, importEnabled,
|
||||||
widget->setShadowBuildCheckBoxVisible(true);
|
importInfos,
|
||||||
widget->setBuildConfiguraionComboBoxVisible(true);
|
Qt4DefaultTargetSetupWidget::USER);
|
||||||
}
|
widget->setBuildConfiguraionComboBoxVisible(true);
|
||||||
return widget;
|
return widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -83,8 +83,11 @@ Qt4TargetSetupWidget *Qt4BaseTargetFactory::createTargetSetupWidget(const QStrin
|
|||||||
QList<BuildConfigurationInfo> infos = this->availableBuildConfigurations(id, proFilePath, number);
|
QList<BuildConfigurationInfo> infos = this->availableBuildConfigurations(id, proFilePath, number);
|
||||||
if (infos.isEmpty())
|
if (infos.isEmpty())
|
||||||
return 0;
|
return 0;
|
||||||
Qt4DefaultTargetSetupWidget *widget = new Qt4DefaultTargetSetupWidget(this, id, proFilePath, infos, number, importEnabled, importInfos);
|
Qt4DefaultTargetSetupWidget *widget = new Qt4DefaultTargetSetupWidget(this, id, proFilePath, infos,
|
||||||
widget->setShadowBuildSupported(supportsShadowBuilds(id));
|
number, importEnabled && supportsShadowBuilds(id),
|
||||||
|
importInfos,
|
||||||
|
supportsShadowBuilds(id) ? Qt4DefaultTargetSetupWidget::ENABLE :
|
||||||
|
Qt4DefaultTargetSetupWidget::DISABLE);
|
||||||
return widget;
|
return widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -365,7 +368,8 @@ Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *f
|
|||||||
const QList<BuildConfigurationInfo> &infos,
|
const QList<BuildConfigurationInfo> &infos,
|
||||||
const QtVersionNumber &minimumQtVersion,
|
const QtVersionNumber &minimumQtVersion,
|
||||||
bool importEnabled,
|
bool importEnabled,
|
||||||
const QList<BuildConfigurationInfo> &importInfos)
|
const QList<BuildConfigurationInfo> &importInfos,
|
||||||
|
ShadowBuildOption shadowBuild)
|
||||||
: Qt4TargetSetupWidget(),
|
: Qt4TargetSetupWidget(),
|
||||||
m_id(id),
|
m_id(id),
|
||||||
m_factory(factory),
|
m_factory(factory),
|
||||||
@@ -459,7 +463,8 @@ Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *f
|
|||||||
|
|
||||||
m_shadowBuildEnabled = new QCheckBox;
|
m_shadowBuildEnabled = new QCheckBox;
|
||||||
m_shadowBuildEnabled->setText(tr("Use Shadow Building"));
|
m_shadowBuildEnabled->setText(tr("Use Shadow Building"));
|
||||||
m_shadowBuildEnabled->setVisible(false);
|
m_shadowBuildCheckBoxVisible = shadowBuild == USER;
|
||||||
|
m_shadowBuildEnabled->setVisible(m_shadowBuildCheckBoxVisible);
|
||||||
|
|
||||||
layout->addWidget(m_shadowBuildEnabled);
|
layout->addWidget(m_shadowBuildEnabled);
|
||||||
|
|
||||||
@@ -492,10 +497,16 @@ Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *f
|
|||||||
m_importEnabled << true;
|
m_importEnabled << true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_hasInSourceBuild)
|
if (m_hasInSourceBuild || shadowBuild == DISABLE) {
|
||||||
m_shadowBuildEnabled->setChecked(false);
|
m_shadowBuildEnabled->setChecked(false);
|
||||||
else
|
m_directoriesEnabled = false;
|
||||||
m_shadowBuildEnabled->setChecked(s->value("Qt4ProjectManager.TargetSetupPage.ShadowBuilding", true).toBool());
|
} else if (shadowBuild == ENABLE) {
|
||||||
|
m_shadowBuildEnabled->setChecked(true);
|
||||||
|
m_directoriesEnabled = true;
|
||||||
|
} else {
|
||||||
|
m_directoriesEnabled = s->value("Qt4ProjectManager.TargetSetupPage.ShadowBuilding", true).toBool();
|
||||||
|
m_shadowBuildEnabled->setChecked(m_directoriesEnabled);
|
||||||
|
}
|
||||||
|
|
||||||
m_selected += m_importInfos.size();
|
m_selected += m_importInfos.size();
|
||||||
|
|
||||||
@@ -589,19 +600,6 @@ void Qt4DefaultTargetSetupWidget::setProFilePath(const QString &proFilePath)
|
|||||||
setBuildConfigurationInfos(m_factory->availableBuildConfigurations(m_id, proFilePath, m_minimumQtVersion), false);
|
setBuildConfigurationInfos(m_factory->availableBuildConfigurations(m_id, proFilePath, m_minimumQtVersion), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Qt4DefaultTargetSetupWidget::setShadowBuildSupported(bool b)
|
|
||||||
{
|
|
||||||
// if shadow building is supported we want to enable it, unless we have a in source build
|
|
||||||
m_shadowBuildEnabled->setChecked(b && !m_hasInSourceBuild);
|
|
||||||
m_importLineButton->setVisible(b);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Qt4DefaultTargetSetupWidget::setShadowBuildCheckBoxVisible(bool b)
|
|
||||||
{
|
|
||||||
m_shadowBuildCheckBoxVisible = b;
|
|
||||||
m_shadowBuildEnabled->setVisible(b);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Qt4DefaultTargetSetupWidget::setBuildConfiguraionComboBoxVisible(bool b)
|
void Qt4DefaultTargetSetupWidget::setBuildConfiguraionComboBoxVisible(bool b)
|
||||||
{
|
{
|
||||||
m_buildConfigurationLabel->setVisible(b);
|
m_buildConfigurationLabel->setVisible(b);
|
||||||
|
|||||||
@@ -108,13 +108,15 @@ class Qt4DefaultTargetSetupWidget : public Qt4TargetSetupWidget
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
enum ShadowBuildOption { DISABLE, ENABLE, USER };
|
||||||
Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *factory,
|
Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *factory,
|
||||||
const QString &id,
|
const QString &id,
|
||||||
const QString &proFilePath,
|
const QString &proFilePath,
|
||||||
const QList<BuildConfigurationInfo> &info,
|
const QList<BuildConfigurationInfo> &info,
|
||||||
const QtVersionNumber &minimumQtVersion,
|
const QtVersionNumber &minimumQtVersion,
|
||||||
bool importEnabled,
|
bool importEnabled,
|
||||||
const QList<BuildConfigurationInfo> &importInfos);
|
const QList<BuildConfigurationInfo> &importInfos,
|
||||||
|
ShadowBuildOption shadowBuild);
|
||||||
~Qt4DefaultTargetSetupWidget();
|
~Qt4DefaultTargetSetupWidget();
|
||||||
bool isTargetSelected() const;
|
bool isTargetSelected() const;
|
||||||
void setTargetSelected(bool b);
|
void setTargetSelected(bool b);
|
||||||
@@ -123,8 +125,6 @@ public:
|
|||||||
QList<BuildConfigurationInfo> buildConfigurationInfos() const;
|
QList<BuildConfigurationInfo> buildConfigurationInfos() const;
|
||||||
void setProFilePath(const QString &proFilePath);
|
void setProFilePath(const QString &proFilePath);
|
||||||
|
|
||||||
void setShadowBuildSupported(bool b);
|
|
||||||
void setShadowBuildCheckBoxVisible(bool b);
|
|
||||||
void setBuildConfiguraionComboBoxVisible(bool b);
|
void setBuildConfiguraionComboBoxVisible(bool b);
|
||||||
|
|
||||||
enum BuildConfigurationTemplate { PERQT = 0,
|
enum BuildConfigurationTemplate { PERQT = 0,
|
||||||
|
|||||||
Reference in New Issue
Block a user