Cockatrice/cockatrice/src/interface/widgets/utility/sequence_edit.h
Lukas Brübach 024c3b4ddb [Cleanup] Unused #includes
Took 44 minutes
2025-11-28 17:18:26 +01:00

49 lines
1.1 KiB
C++

/**
* @file sequence_edit.h
* @ingroup UI
* @brief TODO: Document this.
*/
#ifndef SEQUENCEEDIT_H
#define SEQUENCEEDIT_H
#include <QEvent>
#include <QLineEdit>
#include <QPushButton>
#include <QWidget>
class SequenceEdit : public QWidget
{
Q_OBJECT
public:
explicit SequenceEdit(const QString &_shortcutName, QWidget *parent = nullptr);
QString getSequence();
void setShortcutName(const QString &_shortcutName);
void refreshShortcut();
void clear();
void retranslateUi();
private slots:
void removeLastShortcut();
void restoreDefault();
protected:
bool eventFilter(QObject *, QEvent *event) override;
private:
QString shortcutName;
QLineEdit *lineEdit;
QPushButton *clearButton;
QPushButton *defaultButton;
int keys = 0;
int currentKey = 0;
bool valid = false;
void processKey(QKeyEvent *e);
int translateModifiers(Qt::KeyboardModifiers state, const QString &text);
bool validateShortcut(const QKeySequence &sequence);
void finishShortcut();
void updateSettings();
};
#endif // SEQUENCEEDIT_H