]> git.sven.stormbind.net Git - sven/vym.git/blob - src/shortcuts.h
New upstream version 2.9.22
[sven/vym.git] / src / shortcuts.h
1 #ifndef SHORTCUTS_H
2 #define SHORTCUTS_H
3
4 #include <QAction>
5 #include <QShortcut>
6 #include <QString>
7
8 class KeySwitch {
9   public:
10     KeySwitch(
11         const QString &kIdentifier, //! Unique identifier (still unused)
12         const QString &kName,      //! text saved in related action (translated)
13         const QString &kGroup,     //! Scope
14         const QString &kTag,       //! Tag, used for listing related shortcuts
15         const QKeySequence &kseq); //! Keysequence from action
16     QString group;
17     QString name;
18     QString identifier;
19     QString tag;
20     QKeySequence keySequence;
21 };
22
23 class Switchboard {
24   public:
25     Switchboard();
26     void addGroup(QString gIdentifier, QString gName);
27     void addSwitch(QString identifier, QString scope, QAction *a, QString tag);
28     QString getASCII();
29     void printASCII();
30     void printLaTeX();
31
32   protected:
33     QMultiMap<QString, QAction *> actions;
34     QMultiMap<QString, KeySwitch> switches;
35     QMap<QString, QString> groups;
36     QStringList tags;
37 };
38
39 #endif