forked from qt-creator/qt-creator
Utils: fix likelyContainsLink for markdown
This allows us to also port the link in the resource tooltip to markdown. Change-Id: Iec0e19ff68db76290139e457694485222f0a38f3 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -133,9 +133,13 @@ TextTip::TextTip(QWidget *parent) : TipLabel(parent)
|
|||||||
setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, nullptr, this) / 255.0);
|
setWindowOpacity(style()->styleHint(QStyle::SH_ToolTipLabel_Opacity, nullptr, this) / 255.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool likelyContainsLink(const QString &s)
|
static bool likelyContainsLink(const QString &s, const Qt::TextFormat &format)
|
||||||
{
|
{
|
||||||
return s.contains(QLatin1String("href"), Qt::CaseInsensitive);
|
if (s.contains(QLatin1String("href"), Qt::CaseInsensitive))
|
||||||
|
return true;
|
||||||
|
if (format == Qt::MarkdownText)
|
||||||
|
return s.contains("](");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextTip::setContent(const QVariant &content)
|
void TextTip::setContent(const QVariant &content)
|
||||||
@@ -148,13 +152,13 @@ void TextTip::setContent(const QVariant &content)
|
|||||||
m_format = item.second;
|
m_format = item.second;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool containsLink = likelyContainsLink(m_text);
|
bool containsLink = likelyContainsLink(m_text, m_format);
|
||||||
setOpenExternalLinks(containsLink);
|
setOpenExternalLinks(containsLink);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TextTip::isInteractive() const
|
bool TextTip::isInteractive() const
|
||||||
{
|
{
|
||||||
return likelyContainsLink(m_text);
|
return likelyContainsLink(m_text, m_format);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextTip::configure(const QPoint &pos)
|
void TextTip::configure(const QPoint &pos)
|
||||||
|
|||||||
@@ -181,9 +181,7 @@ QString ResourcePreviewHoverHandler::makeTooltip() const
|
|||||||
const Utils::MimeType mimeType = Utils::mimeTypeForFile(m_resPath);
|
const Utils::MimeType mimeType = Utils::mimeTypeForFile(m_resPath);
|
||||||
if (mimeType.name().startsWith("image", Qt::CaseInsensitive))
|
if (mimeType.name().startsWith("image", Qt::CaseInsensitive))
|
||||||
ret += QString(" \n").arg(m_resPath);
|
ret += QString(" \n").arg(m_resPath);
|
||||||
|
ret += QString("[%1](%2)").arg(QDir::toNativeSeparators(m_resPath), m_resPath);
|
||||||
ret += QString("<a href=\"file:///%1\">%2</a>")
|
|
||||||
.arg(m_resPath, QDir::toNativeSeparators(m_resPath));
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user