Subversion Repositories Code-Repo

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
354 Kevin 1
#ifndef MACROWIDGET_H
2
#define MACROWIDGET_H
3
 
4
#include "GlobalDefines.h"
5
 
6
#define MACRO_DEFAULT_COUNT 4
7
 
8
class MacroWidget : public QWidget
9
{
10
        Q_OBJECT
11
    public:
12
        MacroWidget(QWidget *parent = 0);
13
        ~MacroWidget();
14
 
15
        QSize sizeHint() const;
16
 
17
    public slots:
18
        void Macro_EnableTransmit(void);
19
        void Macro_DisableTransmit(void);
20
        void Macro_InitTransmit(QWidget* t);
21
        void Macro_KeybindPrompt(int id);
22
        void Macro_AddEntry(void);
23
        void Macro_RemoveEntry(void);
24
        void Macro_Clear(void);
25
        void Macro_WriteToFile(void);
26
        void Macro_ReadFromFile(void);
27
 
28
    signals:
29
        void Macro_TransmitText(QByteArray data);
30
 
31
    protected:
32
        bool eventFilter(QObject *, QEvent *);
33
 
34
    private:
35
        int macroCount;
36
        bool connected;
37
        QString lastKnownFilePath;
38
 
39
        QPushButton *btnExport;
40
        QPushButton *btnImport;
41
        QPushButton *btnAddMacro;
42
        QPushButton *btnRemoveMacro;
43
        QPushButton *btnClear;
44
 
45
        QList<QLineEdit*> macroNameList;
46
        QList<QTextEdit*> macroValueList;
47
        QList<QPushButton*> macroBtnSendList;
48
        QList<QPushButton*> macroBtnKeyList;
49
 
50
        QList<QKeySequence> registeredKeySequences;
51
        QList<int> registeredKeyMacroIDs;
52
 
53
        QGridLayout *mainLayout;
54
        QHBoxLayout *ioLayout;
55
        QSignalMapper *sigmapTransmit;
56
        QSignalMapper *sigmapKeybind;
57
 
58
        QPair<QPushButton*,int> currKeyBindInfo;
59
};
60
 
61
#endif // MACROWIDGET