make *QtVersion::warningReason() return a string list

unlike errors, warnings can accumulate

Change-Id: I6632d37a39bf3467d907cfe5c44ba555b918020a
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
Oswald Buddenhagen
2012-07-06 19:22:41 +02:00
parent c902fdf30f
commit de59f3a33b
9 changed files with 25 additions and 23 deletions

View File

@@ -70,13 +70,14 @@ QString DesktopQtVersion::type() const
return QLatin1String(QtSupport::Constants::DESKTOPQT); return QLatin1String(QtSupport::Constants::DESKTOPQT);
} }
QString DesktopQtVersion::warningReason() const QStringList DesktopQtVersion::warningReason() const
{ {
QStringList ret;
if (qtAbis().count() == 1 && qtAbis().first().isNull()) 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()) if (qtVersion() >= QtSupport::QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty())
return QCoreApplication::translate("QtVersion", "No qmlviewer installed."); ret << QCoreApplication::translate("QtVersion", "No qmlviewer installed.");
return QString(); return ret;
} }
QList<ProjectExplorer::Abi> DesktopQtVersion::detectQtAbis() const QList<ProjectExplorer::Abi> DesktopQtVersion::detectQtAbis() const

View File

@@ -49,7 +49,7 @@ public:
QString type() const; QString type() const;
QString warningReason() const; QStringList warningReason() const;
QList<ProjectExplorer::Abi> detectQtAbis() const; QList<ProjectExplorer::Abi> detectQtAbis() const;

View File

@@ -70,13 +70,14 @@ QString SimulatorQtVersion::type() const
return QLatin1String(QtSupport::Constants::SIMULATORQT); return QLatin1String(QtSupport::Constants::SIMULATORQT);
} }
QString SimulatorQtVersion::warningReason() const QStringList SimulatorQtVersion::warningReason() const
{ {
QStringList ret;
if (qtAbis().count() == 1 && qtAbis().first().isNull()) 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()) if (qtVersion() >= QtSupport::QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty())
return QCoreApplication::translate("QtVersion", "No qmlviewer installed."); ret << QCoreApplication::translate("QtVersion", "No qmlviewer installed.");
return QString(); return ret;
} }
QList<ProjectExplorer::Abi> SimulatorQtVersion::detectQtAbis() const QList<ProjectExplorer::Abi> SimulatorQtVersion::detectQtAbis() const

View File

@@ -49,7 +49,7 @@ public:
QString type() const; QString type() const;
QString warningReason() const; QStringList warningReason() const;
QList<ProjectExplorer::Abi> detectQtAbis() const; QList<ProjectExplorer::Abi> detectQtAbis() const;

View File

@@ -385,9 +385,9 @@ QString BaseQtVersion::invalidReason() const
return QString(); return QString();
} }
QString BaseQtVersion::warningReason() const QStringList BaseQtVersion::warningReason() const
{ {
return QString(); return QStringList();
} }
ProjectExplorer::ToolChain *BaseQtVersion::preferredToolChain(const Utils::FileName &ms) const ProjectExplorer::ToolChain *BaseQtVersion::preferredToolChain(const Utils::FileName &ms) const

View File

@@ -121,7 +121,7 @@ public:
virtual QVariantMap toMap() const; virtual QVariantMap toMap() const;
virtual bool isValid() const; virtual bool isValid() const;
virtual QString invalidReason() const; virtual QString invalidReason() const;
virtual QString warningReason() const; virtual QStringList warningReason() const;
virtual ProjectExplorer::ToolChain *preferredToolChain(const Utils::FileName &ms) const; virtual ProjectExplorer::ToolChain *preferredToolChain(const Utils::FileName &ms) const;

View File

@@ -383,6 +383,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba
} }
bool useable = true; bool useable = true;
QStringList warnings;
if (!missingToolChains.isEmpty()) { if (!missingToolChains.isEmpty()) {
if (missingToolChains.count() == abiCount) { if (missingToolChains.count() == abiCount) {
// Yes, this Qt version can't be used at all! // Yes, this Qt version can't be used at all!
@@ -391,7 +392,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba
useable = false; useable = false;
} else { } else {
// Yes, some ABIs are unsupported // 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:<ul><li>%1</li></ul>") info.toolTip = tr("The following ABIs are currently not supported:<ul><li>%1</li></ul>")
.arg(missingToolChains.join(QLatin1String("</li><li>"))); .arg(missingToolChains.join(QLatin1String("</li><li>")));
info.icon = m_warningVersionIcon; info.icon = m_warningVersionIcon;
@@ -399,11 +400,9 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba
} }
if (useable) { if (useable) {
QString warning = version->warningReason(); warnings += version->warningReason();
if (!warning.isEmpty()) { if (!warnings.isEmpty()) {
if (!info.message.isEmpty()) info.message = warnings.join(QLatin1String("\n"));
info.message.append(QLatin1Char('\n'));
info.message += warning;
info.icon = m_warningVersionIcon; info.icon = m_warningVersionIcon;
} }
} }

View File

@@ -62,11 +62,12 @@ QString EmbeddedLinuxQtVersion::type() const
return RemoteLinux::Constants::EMBEDDED_LINUX_QT; return RemoteLinux::Constants::EMBEDDED_LINUX_QT;
} }
QString EmbeddedLinuxQtVersion::warningReason() const QStringList EmbeddedLinuxQtVersion::warningReason() const
{ {
QStringList ret;
if (qtAbis().count() == 1 && qtAbis().first().isNull()) 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.");
return QString(); return ret;
} }
QList<ProjectExplorer::Abi> EmbeddedLinuxQtVersion::detectQtAbis() const QList<ProjectExplorer::Abi> EmbeddedLinuxQtVersion::detectQtAbis() const

View File

@@ -48,7 +48,7 @@ public:
QString type() const; QString type() const;
QString warningReason() const; QStringList warningReason() const;
QList<ProjectExplorer::Abi> detectQtAbis() const; QList<ProjectExplorer::Abi> detectQtAbis() const;