From 2059ce2986e2d2cf6e22041b2ffe28e50b913c7f Mon Sep 17 00:00:00 2001 From: =?utf8?q?M=C3=A9ven=20Car?= Date: Thu, 18 Jul 2024 19:39:42 +0200 Subject: [PATCH] search: url encode parameters to filenamesearch:/ To allow to pass caracters outside of latin1 encoding. --- src/search/dolphinsearchbox.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp index 8962bd3d2..56e6543e7 100644 --- a/src/search/dolphinsearchbox.cpp +++ b/src/search/dolphinsearchbox.cpp @@ -120,13 +120,13 @@ QUrl DolphinSearchBox::urlForSearching() const url.setScheme(QStringLiteral("filenamesearch")); QUrlQuery query; - query.addQueryItem(QStringLiteral("search"), m_searchInput->text()); + query.addQueryItem(QStringLiteral("search"), QUrl::toPercentEncoding(m_searchInput->text())); if (m_contentButton->isChecked()) { query.addQueryItem(QStringLiteral("checkContent"), QStringLiteral("yes")); } - query.addQueryItem(QStringLiteral("url"), searchPath().url()); - query.addQueryItem(QStringLiteral("title"), queryTitle(m_searchInput->text())); + query.addQueryItem(QStringLiteral("url"), QUrl::toPercentEncoding(searchPath().url())); + query.addQueryItem(QStringLiteral("title"), QUrl::toPercentEncoding(queryTitle(m_searchInput->text()))); url.setQuery(query); } @@ -141,11 +141,11 @@ void DolphinSearchBox::fromSearchUrl(const QUrl &url) updateFromQuery(query); } else if (url.scheme() == QLatin1String("filenamesearch")) { const QUrlQuery query(url); - setText(query.queryItemValue(QStringLiteral("search"))); + setText(query.queryItemValue(QStringLiteral("search"), QUrl::FullyDecoded)); if (m_searchPath.scheme() != url.scheme()) { m_searchPath = QUrl(); } - setSearchPath(QUrl::fromUserInput(query.queryItemValue(QStringLiteral("url")), QString(), QUrl::AssumeLocalFile)); + setSearchPath(QUrl::fromUserInput(query.queryItemValue(QStringLiteral("url"), QUrl::FullyDecoded), QString(), QUrl::AssumeLocalFile)); m_contentButton->setChecked(query.queryItemValue(QStringLiteral("checkContent")) == QLatin1String("yes")); } else { setText(QString()); -- 2.47.3