forked from qt-creator/qt-creator
Qt4ProjectManager: Warn of a existing build for a diffrent project
Task-Nr: QTCREATORBUG-2113 Reviewed-By: hunger
This commit is contained in:
@@ -295,6 +295,7 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
|||||||
{
|
{
|
||||||
bool visible = false;
|
bool visible = false;
|
||||||
bool targetMatches = false;
|
bool targetMatches = false;
|
||||||
|
bool incompatibleBuild = false;
|
||||||
|
|
||||||
QtVersionManager *vm = QtVersionManager::instance();
|
QtVersionManager *vm = QtVersionManager::instance();
|
||||||
// we only show if we actually have a qmake and makestep
|
// we only show if we actually have a qmake and makestep
|
||||||
@@ -309,8 +310,11 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
|||||||
QtVersion *version = m_buildConfiguration->qtVersion();
|
QtVersion *version = m_buildConfiguration->qtVersion();
|
||||||
// check that there's a makefile
|
// check that there's a makefile
|
||||||
if (!qmakePath.isEmpty()) {
|
if (!qmakePath.isEmpty()) {
|
||||||
// and that the qmake path is different from the current version
|
// Is it from the same build?
|
||||||
if (qmakePath != (version ? version->qmakeCommand() : QString())) {
|
if (!QtVersionManager::makefileIsFor(makefile, m_buildConfiguration->target()->project()->file()->fileName())) {
|
||||||
|
incompatibleBuild = true;
|
||||||
|
} else if (qmakePath != (version ? version->qmakeCommand() : QString())) {
|
||||||
|
// and that the qmake path is different from the current version
|
||||||
// import enable
|
// import enable
|
||||||
visible = true;
|
visible = true;
|
||||||
QtVersion *newVersion = vm->qtVersionForQMakeBinary(qmakePath);
|
QtVersion *newVersion = vm->qtVersionForQMakeBinary(qmakePath);
|
||||||
@@ -327,8 +331,6 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
|||||||
visible = !m_buildConfiguration->compareToImportFrom(makefile);
|
visible = !m_buildConfiguration->compareToImportFrom(makefile);
|
||||||
targetMatches = true;
|
targetMatches = true;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
visible = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,7 +340,14 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
|||||||
QList<ProjectExplorer::Task> issues = m_buildConfiguration->qtVersion()->reportIssues(m_buildConfiguration->target()->project()->file()->fileName(),
|
QList<ProjectExplorer::Task> issues = m_buildConfiguration->qtVersion()->reportIssues(m_buildConfiguration->target()->project()->file()->fileName(),
|
||||||
buildDirectory);
|
buildDirectory);
|
||||||
|
|
||||||
if (!issues.isEmpty()) {
|
if (incompatibleBuild) {
|
||||||
|
m_ui->problemLabel->setVisible(true);
|
||||||
|
m_ui->warningLabel->setVisible(true);
|
||||||
|
m_ui->importLabel->setVisible(false);
|
||||||
|
m_ui->problemLabel->setText(tr("An build for a different project exists in %1, which will be overwritten.",
|
||||||
|
"%1 build directory").
|
||||||
|
arg(m_ui->shadowBuildDirEdit->path()));
|
||||||
|
} else if (!issues.isEmpty()) {
|
||||||
m_ui->problemLabel->setVisible(true);
|
m_ui->problemLabel->setVisible(true);
|
||||||
m_ui->warningLabel->setVisible(true);
|
m_ui->warningLabel->setVisible(true);
|
||||||
m_ui->importLabel->setVisible(visible);
|
m_ui->importLabel->setVisible(visible);
|
||||||
|
|||||||
Reference in New Issue
Block a user