File indexing completed on 2024-05-12 05:38:21

0001 /*
0002     SPDX-FileCopyrightText: 2007 Teemu Rytilahti <tpr@iki.fi>
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 <KServiceAction>
0012 
0013 class WebshortcutRunner : public KRunner::AbstractRunner
0014 {
0015     Q_OBJECT
0016 
0017 public:
0018     WebshortcutRunner(QObject *parent, const KPluginMetaData &metaData);
0019 
0020     void match(KRunner::RunnerContext &context) override;
0021     void run(const KRunner::RunnerContext &context, const KRunner::QueryMatch &match) override;
0022     void init() override
0023     {
0024         configurePrivateBrowsingActions();
0025         loadSyntaxes();
0026     }
0027 
0028 private:
0029     Q_SLOT void loadSyntaxes();
0030     void configurePrivateBrowsingActions();
0031     KRunner::QueryMatch m_match;
0032     bool m_filterBeforeRun;
0033 
0034     QChar m_delimiter;
0035     QString m_lastFailedKey;
0036     QString m_lastKey;
0037     QString m_lastProvider;
0038     QRegularExpression m_regex;
0039 
0040     KServiceAction m_privateAction;
0041 
0042     KRunner::RunnerContext m_lastUsedContext;
0043     QString m_defaultKey;
0044     KRunner::Action m_action;
0045 };