#ifndef QMACROBINDSWINDOW_H #define QMACROBINDSWINDOW_H #include #include #define DEFAULT_ROW_COUNT 7 #define DEFAULT_COLUMN_COUNT 4 #define ENCODER_CLICKS_PER_ROTATION 30 QT_BEGIN_NAMESPACE namespace Ui { class QMacroBindsWindow; } QT_END_NAMESPACE class QMacroBindsWindow : public QMainWindow { Q_OBJECT public: QMacroBindsWindow(QWidget *parent = nullptr); ~QMacroBindsWindow(); public slots: void deviceNameChanged(const QString &newName); private slots: void showKeyBindingWindow(const quint8 &row, const quint8 &column); void showWindowFinder(); private: void addDeviceToList(const QString &devicePath); void newButtonState(const quint8 &row, const quint8 &column, const bool &state); void newEncoderRotation(const quint8 &column, const EncoderRotation &direction); Ui::QMacroBindsWindow *ui; class WindowFinderDialogue *diagWindowFinder = nullptr; class QMacroKeysManager *mkmMacroKeys = nullptr; QVector> vButtonWidgets; QString sLastSelectedDevice = ""; }; #endif // QMACROBINDSWINDOW_H