Cockatrice/cockatrice/src/utility/sequence_edit.h
RickyRister a41e7c75c1
add missing override and explicit specifiers in src/deck and src/utility (#5525)
* add missing override and explicit specifiers in src/deck

* add missing override and explicit specifiers in src/utility
2025-01-25 14:05:00 +00:00

44 lines
1 KiB
C++

#ifndef SEQUENCEEDIT_H
#define SEQUENCEEDIT_H
#include <QEvent>
#include <QKeySequence>
#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