diff --git a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp index 14bbc07dde8..65d5ca9c6a9 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp @@ -89,6 +89,13 @@ QString DesktopQtVersion::invalidReason() const return tmp; } +QString DesktopQtVersion::warningReason() const +{ + if (qtVersion() >= QtSupport::QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty()) + return QCoreApplication::translate("QtVersion", "No qmlviewer installed."); + return QString(); +} + QList DesktopQtVersion::qtAbis() const { if (!m_qtAbisUpToDate) { diff --git a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h index 961d83c5f97..ddefba095ca 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h +++ b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h @@ -51,6 +51,7 @@ public: virtual bool isValid() const; virtual QString invalidReason() const; + virtual QString warningReason() const; virtual QList qtAbis() const; diff --git a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp index 85d3e744154..947d25f5cf4 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp @@ -89,6 +89,13 @@ QString SimulatorQtVersion::invalidReason() const return tmp; } +QString SimulatorQtVersion::warningReason() const +{ + if (qtVersion() >= QtSupport::QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty()) + return QCoreApplication::translate("QtVersion", "No qmlviewer installed."); + return QString(); +} + QList SimulatorQtVersion::qtAbis() const { if (!m_qtAbisUpToDate) { diff --git a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h index cc7637dd3d8..832039309a1 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h +++ b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h @@ -51,6 +51,7 @@ public: virtual bool isValid() const; virtual QString invalidReason() const; + virtual QString warningReason() const; virtual QList qtAbis() const; diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 0d8ddf8b575..1e4d1813aae 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -318,6 +318,11 @@ QString BaseQtVersion::invalidReason() const return QString(); } +QString BaseQtVersion::warningReason() const +{ + return QString(); +} + QString BaseQtVersion::qmakeCommand() const { return m_qmakeCommand; diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index 9bd5200723b..147b100996d 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -109,6 +109,7 @@ public: virtual QVariantMap toMap() const; virtual bool isValid() const; virtual QString invalidReason() const; + virtual QString warningReason() const; virtual bool toolChainAvailable(const QString &id) const; diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 5a3c5997d9c..3a09c926a0d 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -379,6 +379,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba ++abiCount; } + bool useable = true; if (missingToolChains.isEmpty()) { // No: info.message = tr("Qt version %1 for %2").arg(version->qtVersionString(), version->description()); @@ -386,6 +387,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba // Yes, this Qt version can't be used at all! info.message = tr("No tool chain can produce code for this Qt version. Please define one or more tool chains."); info.icon = m_invalidVersionIcon; + useable = false; } else { // Yes, some ABIs are unsupported info.message = tr("Not all possible target environments can be supported due to missing tool chains."); @@ -393,6 +395,17 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba .arg(missingToolChains.join(QLatin1String("
  • "))); info.icon = m_warningVersionIcon; } + + if (useable) { + QString warning = version->warningReason(); + if (!warning.isEmpty()) { + if (!info.message.isEmpty()) + info.message.append('\n'); + info.message += warning; + info.icon = m_warningVersionIcon; + } + } + return info; }