diff --git a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp index 14bbc07dde8668098c84a33d87adf65cf14f0cc2..65d5ca9c6a9cfe9711bf0fce1a7ab625c409c04a 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<ProjectExplorer::Abi> 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 961d83c5f976c7ad690672710fa69ffdfbc7122c..ddefba095caf6287bd2527c88a416975a12f8e91 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<ProjectExplorer::Abi> qtAbis() const; diff --git a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp index 85d3e744154210f8d2f801dbf19daa49c8347024..947d25f5cf4a3f49f022294f13ac8bc8cc283bca 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<ProjectExplorer::Abi> 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 cc7637dd3d89f867dc009d484722d2c512f9a164..832039309a1418d31b7097fb5eb42f6110a2a4dc 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<ProjectExplorer::Abi> qtAbis() const; diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 0d8ddf8b57574e6efec4979673e24bf1865b24a2..1e4d1813aae9befb95c151678d4474e37f5d4ea8 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 9bd5200723ba8e0f5f0cb675b750ca87ee642916..147b100996ddb177ea756c34aad0b0b6f57d2fa2 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 5a3c5997d9c0d2fab93b65c020810cabd87fa9da..3a09c926a0d29cbde94fcc6e6a956cab53be93ae 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("</li><li>"))); 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; }