From adfa2dde84ff7ed1a8b177c2a7e885e752e9bb0b Mon Sep 17 00:00:00 2001 From: mread Date: Thu, 1 Sep 2011 14:11:33 +0100 Subject: URLs used with scheme handler use appropriate encoding for scheme URLs passed to scheme handler always used to use raw encoding. That broke URLs containing spaces passed to the browser. Then QTBUG-18772 changed it so that they always used % encoding. That broke URLs containing spaces used to open files, resulting in QTBUG-21209. This change fixes it so that web URLs are % encoded and file URLs are raw encoded. Task-number: QTBUG-21209 Reviewed-by: Honglei Zhang --- src/gui/util/qdesktopservices_s60.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/util/qdesktopservices_s60.cpp b/src/gui/util/qdesktopservices_s60.cpp index 97d1226..ae203cd 100644 --- a/src/gui/util/qdesktopservices_s60.cpp +++ b/src/gui/util/qdesktopservices_s60.cpp @@ -309,12 +309,12 @@ static void handleUrlL(const TDesC& aUrl) CleanupStack::PopAndDestroy(); } -static bool handleUrl(const QUrl &url) +static bool handleUrl(const QUrl &url, bool useEncodedUrl) { if (!url.isValid()) return false; - QString urlString(url.toEncoded()); + QString urlString(useEncodedUrl ? url.toEncoded() : url.toString()); TPtrC urlPtr(qt_QString2TPtrC(urlString)); TRAPD( err, handleUrlL(urlPtr)); return err ? false : true; @@ -322,12 +322,12 @@ static bool handleUrl(const QUrl &url) static bool launchWebBrowser(const QUrl &url) { - return handleUrl(url); + return handleUrl(url, true); } static bool openDocument(const QUrl &file) { - return handleUrl(file); + return handleUrl(file, false); } #endif //USE_SCHEMEHANDLER -- cgit v0.12