Warning, file /frameworks/krunner/autotests/fakerunner.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2021 Alexander Lohnau <alexander.lohnau@gmx.de> 0003 SPDX-License-Identifier: LicenseRef-KDE-Accepted-GPL 0004 */ 0005 0006 #include "abstractrunner.h" 0007 0008 #include <QEventLoop> 0009 #include <QTimer> 0010 0011 using namespace Plasma; 0012 0013 class FakeRunner : public AbstractRunner 0014 { 0015 public: 0016 explicit FakeRunner(QObject *parent, const KPluginMetaData &metadata, const QVariantList &args) 0017 : AbstractRunner(parent, metadata, args) 0018 { 0019 setObjectName("FakeRunner"); 0020 } 0021 explicit FakeRunner(const KPluginMetaData &metadata = KPluginMetaData(QStringLiteral("metadata.desktop"))) 0022 : FakeRunner(nullptr, metadata, {}) 0023 { 0024 setObjectName("FakeRunner"); 0025 } 0026 0027 void match(RunnerContext &context) override 0028 { 0029 QEventLoop l; 0030 QTimer::singleShot(50, [&l]() { 0031 l.quit(); 0032 }); 0033 l.exec(); 0034 if (context.query() == QLatin1String("foo")) { 0035 context.addMatch(createDummyMatch(QStringLiteral("foo"), 0.1)); 0036 context.addMatch(createDummyMatch(QStringLiteral("bar"), 0.2)); 0037 } 0038 } 0039 0040 private: 0041 QueryMatch createDummyMatch(const QString &text, qreal relevance) 0042 { 0043 QueryMatch queryMatch(this); 0044 queryMatch.setId(text); 0045 queryMatch.setText(text); 0046 queryMatch.setRelevance(relevance); 0047 return queryMatch; 0048 } 0049 };