diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp index 776ace2b51f..7c458ab1a8e 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp @@ -148,8 +148,13 @@ QList Qt4DesktopTargetFactory::availableBuildConfigurati Qt4TargetSetupWidget *Qt4DesktopTargetFactory::createTargetSetupWidget(const QString &id, const QString &proFilePath, const QtVersionNumber &number, bool importEnabled, QList importInfos) { - Qt4DefaultTargetSetupWidget *widget = new Qt4DefaultTargetSetupWidget(this, id, proFilePath, number, importEnabled, importInfos); - widget->setShadowBuildCheckBoxVisible(true); + Qt4DefaultTargetSetupWidget *widget + = static_cast( + Qt4BaseTargetFactory::createTargetSetupWidget(id, proFilePath, + number, importEnabled, + importInfos)); + if (widget) + widget->setShadowBuildCheckBoxVisible(true); return widget; } diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp index 1df0a27e7f7..db5653702e4 100644 --- a/src/plugins/qt4projectmanager/qt4target.cpp +++ b/src/plugins/qt4projectmanager/qt4target.cpp @@ -79,7 +79,10 @@ Qt4TargetSetupWidget *Qt4BaseTargetFactory::createTargetSetupWidget(const QStrin bool importEnabled, QList importInfos) { - return new Qt4DefaultTargetSetupWidget(this, id, proFilePath, number, importEnabled, importInfos); + QList infos = this->availableBuildConfigurations(id, proFilePath, number); + if (infos.isEmpty()) + return 0; + return new Qt4DefaultTargetSetupWidget(this, id, proFilePath, infos, number, importEnabled, importInfos); } Qt4BaseTarget *Qt4BaseTargetFactory::create(ProjectExplorer::Project *parent, const QString &id, Qt4TargetSetupWidget *widget) @@ -279,9 +282,10 @@ Qt4TargetSetupWidget::~Qt4TargetSetupWidget() Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *factory, const QString &id, const QString &proFilePath, + const QList &infos, const QtVersionNumber &minimumQtVersion, bool importEnabled, - QList importInfos) + const QList &importInfos) : Qt4TargetSetupWidget(), m_id(id), m_factory(factory), @@ -370,7 +374,7 @@ Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *f setupImportWidgets(); - setBuildConfigurationInfos(factory->availableBuildConfigurations(id, proFilePath, minimumQtVersion)); + setBuildConfigurationInfos(infos); if (!m_importInfos.isEmpty()) m_detailsWidget->setState(Utils::DetailsWidget::Expanded); diff --git a/src/plugins/qt4projectmanager/qt4target.h b/src/plugins/qt4projectmanager/qt4target.h index cfc1e53249e..5cdf60aff3e 100644 --- a/src/plugins/qt4projectmanager/qt4target.h +++ b/src/plugins/qt4projectmanager/qt4target.h @@ -185,9 +185,10 @@ public: Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *factory, const QString &id, const QString &proFilePath, + const QList &info, const QtVersionNumber &minimumQtVersion, bool importEnabled, - QList importInfos); + const QList &importInfos); ~Qt4DefaultTargetSetupWidget(); bool isTargetSelected() const; void setTargetSelected(bool b);