X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f588a7d48b7cef5351d8b0f030a6ec5e76229976..dd07a327:/src/search/dolphinsearchbox.cpp diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp index 8962bd3d2..ee425501d 100644 --- a/src/search/dolphinsearchbox.cpp +++ b/src/search/dolphinsearchbox.cpp @@ -74,7 +74,7 @@ QString DolphinSearchBox::text() const void DolphinSearchBox::setSearchPath(const QUrl &url) { - if (url == m_searchPath) { + if (url == m_searchPath || !m_initialized) { return; } @@ -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());