diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp index 44ded3ddec636d09e3b1ef4ceac6b976677e2396..96781714567e3b1727c6ea5fc3dbee84560ac538 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp @@ -319,16 +319,28 @@ void Qt4ProjectConfigWidget::updateImportLabel() } } - if (targetMatches) { - m_ui->importProblemLabel->setVisible(false); - m_ui->importWarningLabel->setVisible(false); + QString sourceDirectory = + QFileInfo(m_buildConfiguration->qt4Target()->qt4Project()->file()->fileName()).absolutePath(); + if (!sourceDirectory.endsWith('/')) + sourceDirectory.append('/'); + bool invalidBuildDirectory = m_buildConfiguration->shadowBuild() + && m_buildConfiguration->buildDirectory().startsWith(sourceDirectory); + + if (invalidBuildDirectory) { + m_ui->problemLabel->setVisible(true); + m_ui->warningLabel->setVisible(true); + m_ui->importLabel->setVisible(visible); + m_ui->problemLabel->setText(tr("Building in subdirectories of the source directory is not supported by qmake.")); + } else if (targetMatches) { + m_ui->problemLabel->setVisible(false); + m_ui->warningLabel->setVisible(false); m_ui->importLabel->setVisible(visible); } else { - m_ui->importWarningLabel->setVisible(visible); - m_ui->importProblemLabel->setVisible(visible); - m_ui->importProblemLabel->setText(tr("An incompatible build exists in %1, which will be overwritten.", - "%1 build directory"). - arg(m_ui->shadowBuildDirEdit->path())); + m_ui->warningLabel->setVisible(visible); + m_ui->problemLabel->setVisible(visible); + m_ui->problemLabel->setText(tr("An incompatible build exists in %1, which will be overwritten.", + "%1 build directory"). + arg(m_ui->shadowBuildDirEdit->path())); m_ui->importLabel->setVisible(false); } } diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui b/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui index 81cb23e9a0353c9cccf45f07a9318251fe5c48d1..bb0acd3a161c67844c52962b164cc1893e1ce670 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>487</width> + <width>712</width> <height>194</height> </rect> </property> @@ -138,16 +138,16 @@ </widget> </item> <item> - <widget class="QLabel" name="importWarningLabel"> + <widget class="QLabel" name="warningLabel"> <property name="pixmap"> <pixmap resource="../projectexplorer/projectexplorer.qrc">:/projectexplorer/images/compile_warning.png</pixmap> </property> </widget> </item> <item> - <widget class="QLabel" name="importProblemLabel"> + <widget class="QLabel" name="problemLabel"> <property name="text"> - <string>The Qt Version about to be imported does not support this target.</string> + <string>problemLabel</string> </property> </widget> </item>