From e0e45d94b3c1221257ff816e51869f531ad8a9fd Mon Sep 17 00:00:00 2001 From: Victor Yacovlev Date: Tue, 30 Apr 2013 17:12:22 +0200 Subject: Fix UNICODE sysmbols shown in the urlbar BUG: 317697 REVIEWED-BY: adjam --- src/urlbar/urlbar.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/urlbar/urlbar.cpp') diff --git a/src/urlbar/urlbar.cpp b/src/urlbar/urlbar.cpp index 19816d35..a14e39b5 100644 --- a/src/urlbar/urlbar.cpp +++ b/src/urlbar/urlbar.cpp @@ -180,7 +180,16 @@ void UrlBar::setQUrl(const QUrl& url) return; clearFocus(); - KLineEdit::setUrl(url); + + // Workaround for KLineEdit bug: incorrectly displaying + // unicode symbols at query parameter + const QByteArray urlTextData = url.toString().toUtf8(); + const QString humanReadableUrl = QString::fromUtf8( + QByteArray::fromPercentEncoding(urlTextData).constData() + ); + // End workaround + setText(humanReadableUrl); + setCursorPosition(0); } @@ -188,7 +197,16 @@ void UrlBar::setQUrl(const QUrl& url) void UrlBar::loadRequestedUrl(const KUrl& url, Rekonq::OpenType type) { clearFocus(); - setUrl(url); + + // Workaround for KLineEdit bug: incorrectly displaying + // unicode symbols at query parameter + const QByteArray urlTextData = url.prettyUrl().toUtf8(); + const QString humanReadableUrl = QString::fromUtf8( + QByteArray::fromPercentEncoding(urlTextData).constData() + ); + // End workaround + setText(humanReadableUrl); + rApp->loadUrl(url, type); } -- cgit v1.2.1