Preserve invalid Qt versions when loading a project

Now that we have 2.0 out we can be less strict when checking
project consistency when loading .user files.  The strictness
was necessary due to upgrading non-target projects to target
projects.

 * Allow for invalid Qt versions when loading a .user file that was not
   updated from the pre-target era.
 * Update the UI to show invalid Qt versions as invalid. Remove
   the Invalid version as soon as a valid one is imported.

This does preserve the buildsteps, too.
This commit is contained in:
Tobias Hunger
2010-09-09 17:00:26 +02:00
parent 6b3132a69b
commit d1c23f58a5
7 changed files with 46 additions and 35 deletions

View File

@@ -77,7 +77,6 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
m_ui->shadowBuildDirEdit->setPromptDialogTitle(tr("Shadow Build Directory"));
m_ui->shadowBuildDirEdit->setExpectedKind(Utils::PathChooser::Directory);
m_ui->invalidQtWarningLabel->setVisible(false);
connect(m_ui->shadowBuildCheckBox, SIGNAL(clicked(bool)),
this, SLOT(shadowBuildClicked(bool)));
@@ -150,12 +149,6 @@ void Qt4ProjectConfigWidget::manageQtVersions()
core->showOptionsDialog(Constants::QT_SETTINGS_CATEGORY, Constants::QTVERSION_SETTINGS_PAGE_ID);
}
void Qt4ProjectConfigWidget::updateInvalidQtVersion()
{
m_ui->invalidQtWarningLabel->setVisible(!m_buildConfiguration->qtVersion()->isValid());
}
QString Qt4ProjectConfigWidget::displayName() const
{
return tr("General");
@@ -234,16 +227,17 @@ void Qt4ProjectConfigWidget::qtVersionsChanged()
m_ui->qtVersionComboBox->addItem(validVersions.at(i)->displayName(),
validVersions.at(i)->uniqueId());
if (validVersions.at(i) == qtVersion) {
if (validVersions.at(i) == qtVersion)
m_ui->qtVersionComboBox->setCurrentIndex(i);
m_ui->invalidQtWarningLabel->setVisible(!validVersions.at(i)->isValid());
}
}
m_ui->qtVersionComboBox->setEnabled(validVersions.count() > 1);
}
if (!qtVersion->isValid()) {
m_ui->qtVersionComboBox->addItem(tr("Invalid Qt version"), -1);
m_ui->qtVersionComboBox->setCurrentIndex(m_ui->qtVersionComboBox->count() - 1);
}
m_ignoreChange = false;
updateInvalidQtVersion();
updateToolChainCombo();
updateShadowBuildUi();
updateDetails();
@@ -440,9 +434,12 @@ void Qt4ProjectConfigWidget::qtVersionSelected(const QString &)
{
if (m_ignoreChange)
return;
//Qt Version
int newQtVersionId = m_ui->qtVersionComboBox->itemData(m_ui->qtVersionComboBox->currentIndex()).toInt();
if (m_ui->qtVersionComboBox->itemData(m_ui->qtVersionComboBox->count() - 1).toInt() == -1)
m_ui->qtVersionComboBox->removeItem(m_ui->qtVersionComboBox->count() - 1);
QtVersionManager *vm = QtVersionManager::instance();
QtVersion *newQtVersion = vm->version(newQtVersionId);
@@ -450,7 +447,6 @@ void Qt4ProjectConfigWidget::qtVersionSelected(const QString &)
m_buildConfiguration->setQtVersion(newQtVersion);
m_ignoreChange = false;
updateInvalidQtVersion();
updateShadowBuildUi();
updateToolChainCombo();
updateImportLabel();