File indexing completed on 2024-05-19 09:22:09
0001 /* 0002 * SPDX-FileCopyrightText: 2010 Aaron Seigo <aseigo@kde.org> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-only 0005 */ 0006 0007 #ifndef DATETIMERUNNER_H 0008 #define DATETIMERUNNER_H 0009 0010 #include <QDateTime> 0011 0012 #include <KRunner/AbstractRunner> 0013 #include <KRunner/QueryMatch> 0014 #include <QDateTime> 0015 #include <QTimeZone> 0016 0017 using namespace KRunner; 0018 0019 class DateTimeRunner : public AbstractRunner 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 DateTimeRunner(QObject *parent, const KPluginMetaData &metaData); 0025 ~DateTimeRunner() override; 0026 0027 void match(RunnerContext &context) override; 0028 void run(const RunnerContext &context, const QueryMatch &match) override; 0029 0030 private: 0031 QHash<QString, QTimeZone> matchingTimeZones(const QStringView &zoneTerm = QStringView(), const QDateTime referenceDatetime = QDateTime::currentDateTime()); 0032 void addMatch(const QString &text, const QString &clipboardText, const qreal &relevance, const QString &iconName, RunnerContext &context); 0033 }; 0034 0035 #endif