From 118d73baa2555b8cd4778fe18a3f352b84816df3 Mon Sep 17 00:00:00 2001 From: Alexander Lohnau Date: Sun, 21 Nov 2021 20:45:26 +0100 Subject: [PATCH] helprunner: Do not store generated entries in KRunner history --- runners/helprunner/helprunner.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/runners/helprunner/helprunner.cpp b/runners/helprunner/helprunner.cpp index 814d23d0a..54a8ae614 100644 --- a/runners/helprunner/helprunner.cpp +++ b/runners/helprunner/helprunner.cpp @@ -59,7 +59,7 @@ void HelpRunner::match(RunnerContext &context) match.setText(syntaxes.constFirst().exampleQueries().constFirst()); match.setIcon(runner->icon()); match.setSubtext(runner->description()); - match.setType(QueryMatch::InformationalMatch); + match.setType(QueryMatch::CompletionMatch); match.setData(QVariant(QStringLiteral("?") + runner->name())); matches << match; } @@ -69,11 +69,16 @@ void HelpRunner::match(RunnerContext &context) void HelpRunner::run(const RunnerContext &context, const QueryMatch &match) { - Q_UNUSED(context); - const QString query = match.data().toString(); - static const QRegularExpression placeholderRegex{QStringLiteral("<.+>$")}; - const int idx = query.indexOf(placeholderRegex); - context.requestQueryStringUpdate(query, idx == -1 ? query.count() : idx); + context.ignoreCurrentMatchForHistory(); + if (match.type() == QueryMatch::CompletionMatch) { + const QString completedRunnerName = match.data().toString(); + context.requestQueryStringUpdate(completedRunnerName, -1); + } else { + const QString query = match.data().toString(); + static const QRegularExpression placeholderRegex{QStringLiteral("<.+>$")}; + const int idx = query.indexOf(placeholderRegex); + context.requestQueryStringUpdate(query, idx == -1 ? query.count() : idx); + } } K_PLUGIN_CLASS_WITH_JSON(HelpRunner, "helprunner.json")