From a8b4b4da9db8c4bee2494157cecb2a474d92d2e3 Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Fri, 4 Jun 2021 12:59:21 +0300 Subject: Fix replacing of {external-link} tags in component tree view tooltips Task-number: QTIFW-2264 Change-Id: Ie7191ba75d923cc8d8eb353f7fac85818b87591f Reviewed-by: Katja Marttila Reviewed-by: Qt CI Bot --- src/libs/installer/component.cpp | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) (limited to 'src/libs/installer/component.cpp') diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp index cb9959ba3..5f897303d 100644 --- a/src/libs/installer/component.cpp +++ b/src/libs/installer/component.cpp @@ -45,6 +45,7 @@ #include #include #include +#include #include @@ -1628,26 +1629,23 @@ void Component::updateModelData(const QString &key, const QString &data) setData(humanReadableSize(size), UncompressedSize); } + QString tooltipText; const QString &updateInfo = d->m_vars.value(scUpdateText); if (!d->m_core->isUpdater() || updateInfo.isEmpty()) { - QString tooltipText - = QString::fromLatin1("%1").arg(d->m_vars.value(scDescription)); - if (isUnstable()) { - tooltipText += QLatin1String("
") + tr("There was an error loading the selected component. " - "This component can not be installed."); - } - setData(tooltipText, Qt::ToolTipRole); + tooltipText = QString::fromLatin1("%1").arg(d->m_vars.value(scDescription)); } else { - QString tooltipText - = d->m_vars.value(scDescription) + QLatin1String("

") - + tr("Update Info: ") + updateInfo; - if (isUnstable()) { - tooltipText += QLatin1String("
") + tr("There was an error loading the selected component. " - "This component can not be updated."); - } - - setData(tooltipText, Qt::ToolTipRole); + tooltipText = d->m_vars.value(scDescription) + QLatin1String("

") + + tr("Update Info: ") + updateInfo; } + if (isUnstable()) { + tooltipText += QLatin1String("
") + tr("There was an error loading the selected component. " + "This component can not be installed."); + } + // replace {external-link}='' fields in component description with proper link tags + tooltipText.replace(QRegularExpression(QLatin1String("{external-link}='(.*?)'")), + QLatin1String("\\1")); + + setData(tooltipText, Qt::ToolTipRole); } /*! -- cgit v1.2.3