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 };