Correctly handle "internal:url:..." links.
This commit is contained in:
parent
f18fbbc2a1
commit
1111718ea3
1 changed files with 12 additions and 1 deletions
|
|
@ -19,7 +19,11 @@
|
||||||
|
|
||||||
QString TextClickHandler::readable() const {
|
QString TextClickHandler::readable() const {
|
||||||
const auto result = url();
|
const auto result = url();
|
||||||
return result.startsWith(qstr("internal:")) ? QString() : result;
|
return !result.startsWith(qstr("internal:"))
|
||||||
|
? result
|
||||||
|
: result.startsWith(qstr("internal:url:"))
|
||||||
|
? result.mid(qstr("internal:url:").size())
|
||||||
|
: QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed)
|
UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed)
|
||||||
|
|
@ -33,6 +37,13 @@ UrlClickHandler::UrlClickHandler(const QString &url, bool fullDisplayed)
|
||||||
? original.toEncoded()
|
? original.toEncoded()
|
||||||
: QString());
|
: QString());
|
||||||
_readable = good.isValid() ? good.toDisplayString() : _originalUrl;
|
_readable = good.isValid() ? good.toDisplayString() : _originalUrl;
|
||||||
|
} else if (_originalUrl.startsWith(qstr("internal:url:"))) {
|
||||||
|
const auto external = _originalUrl.mid(qstr("internal:url:").size());
|
||||||
|
const auto original = QUrl(external);
|
||||||
|
const auto good = QUrl(original.isValid()
|
||||||
|
? original.toEncoded()
|
||||||
|
: QString());
|
||||||
|
_readable = good.isValid() ? good.toDisplayString() : external;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue