diff --git a/resources/qml/MatrixText.qml b/resources/qml/MatrixText.qml index f886016e..578fd9d2 100644 --- a/resources/qml/MatrixText.qml +++ b/resources/qml/MatrixText.qml @@ -11,7 +11,7 @@ TextArea { property alias cursorShape: cs.cursorShape - ToolTip.text: hoveredLink + ToolTip.text: Nheko.punyLink(hoveredLink) ToolTip.visible: hoveredLink || false background: null bottomInset: 0 diff --git a/src/ui/NhekoGlobalObject.cpp b/src/ui/NhekoGlobalObject.cpp index e28b1bc1..304715b7 100644 --- a/src/ui/NhekoGlobalObject.cpp +++ b/src/ui/NhekoGlobalObject.cpp @@ -108,6 +108,12 @@ Nheko::openLink(QString link) const url.toDisplayString().toStdString()); } } +QString +Nheko::punyLink(QString link) const +{ + QUrl url(link); + return url.toDisplayString(QUrl::FullyEncoded); +} void Nheko::setStatusMessage(QString msg) const { diff --git a/src/ui/NhekoGlobalObject.h b/src/ui/NhekoGlobalObject.h index c1f3579c..979513b8 100644 --- a/src/ui/NhekoGlobalObject.h +++ b/src/ui/NhekoGlobalObject.h @@ -56,6 +56,7 @@ public: return QFontDatabase::systemFont(QFontDatabase::FixedFont); } Q_INVOKABLE void openLink(QString link) const; + Q_INVOKABLE QString punyLink(QString link) const; Q_INVOKABLE void setStatusMessage(QString msg) const; Q_INVOKABLE void showUserSettingsPage() const; Q_INVOKABLE void logout() const;