File indexing completed on 2024-05-12 05:35:41

0001 /*
0002     SPDX-FileCopyrightText: 2010 Andriy Rysin <rysin@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <KActionCollection>
0010 
0011 struct Rules;
0012 class LayoutUnit;
0013 template<typename T>
0014 class QList;
0015 
0016 class KeyboardLayoutActionCollection : public KActionCollection
0017 {
0018 public:
0019     KeyboardLayoutActionCollection(QObject *parent, bool configAction);
0020     ~KeyboardLayoutActionCollection() override;
0021 
0022     QAction *getToggleAction();
0023     QAction *getLastUsedLayoutAction();
0024     QAction *createLayoutShortcutActon(const LayoutUnit &layoutUnit, int layoutIndex, const Rules *rules, bool autoload);
0025     void setLayoutShortcuts(QList<LayoutUnit> &layoutUnits, const Rules *rules);
0026     void setToggleShortcut(const QKeySequence &keySequence);
0027     void setLastUsedLayoutShortcut(const QKeySequence &keySequence);
0028     void loadLayoutShortcuts(QList<LayoutUnit> &layoutUnits, const Rules *rules);
0029     void resetLayoutShortcuts();
0030 
0031 private:
0032     bool configAction;
0033 };