From a552bc8b2584df7e585e67e40c080c2953dfd0c1 Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Thu, 24 Feb 2011 12:33:01 +0100 Subject: [PATCH] Do not create a widget if no valid qt version was found --- .../qt-desktop/qt4desktoptargetfactory.cpp | 9 +++++++-- src/plugins/qt4projectmanager/qt4target.cpp | 10 +++++++--- src/plugins/qt4projectmanager/qt4target.h | 3 ++- 3 files changed, 16 insertions(+), 6 deletions(-) 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<BuildConfigurationInfo> Qt4DesktopTargetFactory::availableBuildConfigurati Qt4TargetSetupWidget *Qt4DesktopTargetFactory::createTargetSetupWidget(const QString &id, const QString &proFilePath, const QtVersionNumber &number, bool importEnabled, QList<BuildConfigurationInfo> importInfos) { - Qt4DefaultTargetSetupWidget *widget = new Qt4DefaultTargetSetupWidget(this, id, proFilePath, number, importEnabled, importInfos); - widget->setShadowBuildCheckBoxVisible(true); + Qt4DefaultTargetSetupWidget *widget + = static_cast<Qt4DefaultTargetSetupWidget *>( + 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<BuildConfigurationInfo> importInfos) { - return new Qt4DefaultTargetSetupWidget(this, id, proFilePath, number, importEnabled, importInfos); + QList<BuildConfigurationInfo> 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<BuildConfigurationInfo> &infos, const QtVersionNumber &minimumQtVersion, bool importEnabled, - QList<BuildConfigurationInfo> importInfos) + const QList<BuildConfigurationInfo> &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<BuildConfigurationInfo> &info, const QtVersionNumber &minimumQtVersion, bool importEnabled, - QList<BuildConfigurationInfo> importInfos); + const QList<BuildConfigurationInfo> &importInfos); ~Qt4DefaultTargetSetupWidget(); bool isTargetSelected() const; void setTargetSelected(bool b); -- GitLab