Skip to content

Commit 067fccb

Browse files
committed
Fix usage of existing WebShortcuts in search suggestions
1 parent 2ff5182 commit 067fccb

File tree

5 files changed

+18
-4
lines changed

5 files changed

+18
-4
lines changed

install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ fi
88
mkdir -p build
99
cd build
1010

11-
cmake -DKDE_INSTALL_QTPLUGINDIR=$(kf5-config --qt-plugins) -DCMAKE_BUILD_TYPE=Release ..
11+
cmake -DKDE_INSTALL_QTPLUGINDIR=$(kf5-config --qt-plugins) -DCMAKE_BUILD_TYPE=Release ..
1212
make -j$(nproc)
1313
sudo make install
1414

src/quick_web_shortcuts.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ void QuickWebShortcuts::reloadPluginConfiguration(const QString &configFile) {
129129
requiredData.runner = this;
130130
requiredData.maxResults = configGroup.readEntry(Config::MaxSuggestionResults, Config::MaxSuggestionResultsDefault);
131131
requiredData.searchOptionTemplate = searchOptionTemplate;
132+
requiredData.isWebShortcut = isWebShortcut;
132133
}
133134

134135
// Proxy settings
@@ -203,7 +204,7 @@ void QuickWebShortcuts::match(Plasma::RunnerContext &context) {
203204
data.insert(QStringLiteral("browser"), privateBrowser);
204205
QString url;
205206
if (isWebShortcut) {
206-
url = currentSearchEngine.url.replace(QStringLiteral("\\{@}"), QUrl::toPercentEncoding(term));
207+
url = QString(currentSearchEngine.url).replace(QStringLiteral("\\{@}"), QUrl::toPercentEncoding(term));
207208
} else {
208209
url = currentSearchEngine.url + QUrl::toPercentEncoding(term);
209210
}

src/searchproviders/Bing.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,13 @@ public Q_SLOTS:
100100
match.setRelevance((float) (19 - i) / 20);
101101

102102
QMap<QString, QVariant> runData;
103-
runData.insert(QStringLiteral("url"), data.searchEngine + QUrl::toPercentEncoding(suggestion));
103+
QString url;
104+
if (data.isWebShortcut) {
105+
url = QString(data.searchEngine).replace(QStringLiteral("\\{@}"), QUrl::toPercentEncoding(suggestion));
106+
} else {
107+
url = data.searchEngine + QUrl::toPercentEncoding(suggestion);
108+
}
109+
runData.insert(QStringLiteral("url"), url);
104110
if (!browserLaunchCommand.isEmpty()) { runData.insert(QStringLiteral("browser"), browserLaunchCommand); }
105111
match.setData(runData);
106112
context.addMatch(match);

src/searchproviders/Google.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,13 @@ public Q_SLOTS:
9797
match.setRelevance((float) (19 - i) / 20);
9898

9999
QMap<QString, QVariant> runData;
100-
runData.insert(QStringLiteral("url"), data.searchEngine + QUrl::toPercentEncoding(suggestion));
100+
QString url;
101+
if (data.isWebShortcut) {
102+
url = QString(data.searchEngine).replace(QStringLiteral("\\{@}"), QUrl::toPercentEncoding(suggestion));
103+
} else {
104+
url = data.searchEngine + QUrl::toPercentEncoding(suggestion);
105+
}
106+
runData.insert(QStringLiteral("url"), url);
101107
if (!browserLaunchCommand.isEmpty()) {
102108
runData.insert(QStringLiteral("browser"), browserLaunchCommand);
103109
}

src/searchproviders/RequiredData.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class RequiredData {
88
QNetworkProxy *proxy = nullptr;
99
Plasma::AbstractRunner *runner;
1010
QString searchEngine;
11+
bool isWebShortcut;
1112
QIcon icon;
1213
int maxResults;
1314
bool showNetworkErrors = true;

0 commit comments

Comments
 (0)