Files
cbh/ElaWidgetTools/DeveloperComponents/ElaKeyBinderContainer.h
2025-09-19 22:40:52 +08:00

32 lines
1.0 KiB
C++

#ifndef ELAWIDGETTOOLS_SRC_DEVELOPERCOMPONENTS_ELAKEYBINDERCONTAINER_H_
#define ELAWIDGETTOOLS_SRC_DEVELOPERCOMPONENTS_ELAKEYBINDERCONTAINER_H_
#include "ElaDef.h"
#include <QWidget>
class ElaKeyBinder;
class ElaKeyBinderContainer : public QWidget
{
Q_OBJECT
Q_PRIVATE_CREATE(QString, BinderKeyText)
Q_PRIVATE_CREATE(quint32, NativeVirtualBinderKey)
public:
explicit ElaKeyBinderContainer(QWidget* parent = nullptr);
~ElaKeyBinderContainer();
void logOrResetHistoryData(bool isLog);
void saveBinderChanged();
protected:
virtual void mousePressEvent(QMouseEvent* event) override;
virtual void keyPressEvent(QKeyEvent* event) override;
virtual void focusOutEvent(QFocusEvent* event) override;
virtual void paintEvent(QPaintEvent* event) override;
private:
QString _historyBinderKeyText;
quint32 _historyNativeVirtualBinderKey{0};
ElaThemeType::ThemeMode _themeMode;
ElaKeyBinder* _keyBinder{nullptr};
};
#endif //ELAWIDGETTOOLS_SRC_DEVELOPERCOMPONENTS_ELAKEYBINDERCONTAINER_H_