From de59f3a33bda6d9c629e5c9ff2a4297f58d45765 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 6 Jul 2012 19:22:41 +0200 Subject: [PATCH] make *QtVersion::warningReason() return a string list unlike errors, warnings can accumulate Change-Id: I6632d37a39bf3467d907cfe5c44ba555b918020a Reviewed-by: Daniel Teske --- .../qt4projectmanager/qt-desktop/desktopqtversion.cpp | 9 +++++---- .../qt4projectmanager/qt-desktop/desktopqtversion.h | 2 +- .../qt-desktop/simulatorqtversion.cpp | 9 +++++---- .../qt4projectmanager/qt-desktop/simulatorqtversion.h | 2 +- src/plugins/qtsupport/baseqtversion.cpp | 4 ++-- src/plugins/qtsupport/baseqtversion.h | 2 +- src/plugins/qtsupport/qtoptionspage.cpp | 11 +++++------ src/plugins/remotelinux/embeddedlinuxqtversion.cpp | 7 ++++--- src/plugins/remotelinux/embeddedlinuxqtversion.h | 2 +- 9 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp index 1c78eeacdd6..ba36c19a4e6 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp @@ -70,13 +70,14 @@ QString DesktopQtVersion::type() const return QLatin1String(QtSupport::Constants::DESKTOPQT); } -QString DesktopQtVersion::warningReason() const +QStringList DesktopQtVersion::warningReason() const { + QStringList ret; if (qtAbis().count() == 1 && qtAbis().first().isNull()) - return QCoreApplication::translate("QtVersion", "ABI detection failed: Make sure to use a matching tool chain when building."); + ret << QCoreApplication::translate("QtVersion", "ABI detection failed: Make sure to use a matching tool chain when building."); if (qtVersion() >= QtSupport::QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty()) - return QCoreApplication::translate("QtVersion", "No qmlviewer installed."); - return QString(); + ret << QCoreApplication::translate("QtVersion", "No qmlviewer installed."); + return ret; } QList DesktopQtVersion::detectQtAbis() const diff --git a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h index bd965e685f6..fc06132f247 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h +++ b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.h @@ -49,7 +49,7 @@ public: QString type() const; - QString warningReason() const; + QStringList warningReason() const; QList detectQtAbis() const; diff --git a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp index f9d31d37b97..c3976e9c916 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp @@ -70,13 +70,14 @@ QString SimulatorQtVersion::type() const return QLatin1String(QtSupport::Constants::SIMULATORQT); } -QString SimulatorQtVersion::warningReason() const +QStringList SimulatorQtVersion::warningReason() const { + QStringList ret; if (qtAbis().count() == 1 && qtAbis().first().isNull()) - return QCoreApplication::translate("QtVersion", "ABI detection failed: Make sure to use a matching tool chain when building."); + ret << QCoreApplication::translate("QtVersion", "ABI detection failed: Make sure to use a matching tool chain when building."); if (qtVersion() >= QtSupport::QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty()) - return QCoreApplication::translate("QtVersion", "No qmlviewer installed."); - return QString(); + ret << QCoreApplication::translate("QtVersion", "No qmlviewer installed."); + return ret; } QList SimulatorQtVersion::detectQtAbis() const diff --git a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h index 25a43425104..687441869e0 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h +++ b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.h @@ -49,7 +49,7 @@ public: QString type() const; - QString warningReason() const; + QStringList warningReason() const; QList detectQtAbis() const; diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index b4bc1be6867..0d121cc502e 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -385,9 +385,9 @@ QString BaseQtVersion::invalidReason() const return QString(); } -QString BaseQtVersion::warningReason() const +QStringList BaseQtVersion::warningReason() const { - return QString(); + return QStringList(); } ProjectExplorer::ToolChain *BaseQtVersion::preferredToolChain(const Utils::FileName &ms) const diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index c4270b66474..70501480f34 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -121,7 +121,7 @@ public: virtual QVariantMap toMap() const; virtual bool isValid() const; virtual QString invalidReason() const; - virtual QString warningReason() const; + virtual QStringList warningReason() const; virtual ProjectExplorer::ToolChain *preferredToolChain(const Utils::FileName &ms) const; diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 48d27a00c3b..9a7ebb92bc8 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -383,6 +383,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba } bool useable = true; + QStringList warnings; if (!missingToolChains.isEmpty()) { if (missingToolChains.count() == abiCount) { // Yes, this Qt version can't be used at all! @@ -391,7 +392,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba useable = false; } else { // Yes, some ABIs are unsupported - info.message = tr("Not all possible target environments can be supported due to missing tool chains."); + warnings << tr("Not all possible target environments can be supported due to missing tool chains."); info.toolTip = tr("The following ABIs are currently not supported:
  • %1
") .arg(missingToolChains.join(QLatin1String("
  • "))); info.icon = m_warningVersionIcon; @@ -399,11 +400,9 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba } if (useable) { - QString warning = version->warningReason(); - if (!warning.isEmpty()) { - if (!info.message.isEmpty()) - info.message.append(QLatin1Char('\n')); - info.message += warning; + warnings += version->warningReason(); + if (!warnings.isEmpty()) { + info.message = warnings.join(QLatin1String("\n")); info.icon = m_warningVersionIcon; } } diff --git a/src/plugins/remotelinux/embeddedlinuxqtversion.cpp b/src/plugins/remotelinux/embeddedlinuxqtversion.cpp index e6b8c175183..828add99ec0 100644 --- a/src/plugins/remotelinux/embeddedlinuxqtversion.cpp +++ b/src/plugins/remotelinux/embeddedlinuxqtversion.cpp @@ -62,11 +62,12 @@ QString EmbeddedLinuxQtVersion::type() const return RemoteLinux::Constants::EMBEDDED_LINUX_QT; } -QString EmbeddedLinuxQtVersion::warningReason() const +QStringList EmbeddedLinuxQtVersion::warningReason() const { + QStringList ret; if (qtAbis().count() == 1 && qtAbis().first().isNull()) - return QCoreApplication::translate("QtVersion", "ABI detection failed: Make sure to use a matching tool chain when building."); - return QString(); + ret << QCoreApplication::translate("QtVersion", "ABI detection failed: Make sure to use a matching tool chain when building."); + return ret; } QList EmbeddedLinuxQtVersion::detectQtAbis() const diff --git a/src/plugins/remotelinux/embeddedlinuxqtversion.h b/src/plugins/remotelinux/embeddedlinuxqtversion.h index e548acb0b2f..c68f8c57918 100644 --- a/src/plugins/remotelinux/embeddedlinuxqtversion.h +++ b/src/plugins/remotelinux/embeddedlinuxqtversion.h @@ -48,7 +48,7 @@ public: QString type() const; - QString warningReason() const; + QStringList warningReason() const; QList detectQtAbis() const;