File indexing completed on 2024-05-12 05:38:21
0001 /* 0002 SPDX-FileCopyrightText: 2006 Aaron Seigo <aseigo@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-only 0005 */ 0006 0007 #pragma once 0008 0009 #include <KRunner/AbstractRunner> 0010 #include <KRunner/Action> 0011 #include <QIcon> 0012 #include <optional> 0013 0014 class ShellRunner : public KRunner::AbstractRunner 0015 { 0016 Q_OBJECT 0017 0018 public: 0019 ShellRunner(QObject *parent, const KPluginMetaData &metaData); 0020 0021 void match(KRunner::RunnerContext &context) override; 0022 void run(const KRunner::RunnerContext &context, const KRunner::QueryMatch &action) override; 0023 0024 private: 0025 std::optional<QString> parseShellCommand(const QString &query, QStringList &envs); 0026 const KRunner::Actions m_actionList; 0027 const QIcon m_matchIcon; 0028 };