File indexing completed on 2025-02-02 05:17:48

0001 /*
0002  *   SPDX-FileCopyrightText: 2012 Makis Marimpis <makhsm@gmail.com>
0003  *   SPDX-FileCopyrightText: 2012, 2013, 2014 Ivan Cukic <ivan.cukic(at)kde.org>
0004  *
0005  *   SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 #pragma once
0009 
0010 #include <Plugin.h>
0011 class KActionCollection;
0012 class QAction;
0013 
0014 class GlobalShortcutsPlugin : public Plugin
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     explicit GlobalShortcutsPlugin(QObject *parent);
0020     ~GlobalShortcutsPlugin() override;
0021 
0022     bool init(QHash<QString, QObject *> &modules) override;
0023 
0024 private Q_SLOTS:
0025     void activityAdded(const QString &activity);
0026     void activityRemoved(const QString &activity);
0027     void activityChanged(const QString &activity);
0028 
0029 Q_SIGNALS:
0030     void currentActivityChanged(const QString &activity);
0031 
0032 private:
0033     inline QString activityName(const QString &activity) const;
0034     inline QString activityForAction(QAction *action) const;
0035 
0036     QObject *m_activitiesService;
0037     QStringList m_activitiesList;
0038     KActionCollection *m_actionCollection;
0039 };