FluentUI/src/FluHotkey.cpp
朱子楚\zhuzi 354f7f2e3e add hotkey
2024-05-16 00:35:04 +08:00

33 lines
802 B
C++

#include "FluHotkey.h"
#include "QGuiApplication"
FluHotkey::FluHotkey(QObject *parent)
: QObject{parent}
{
_sequence = "";
_isRegistered = false;
connect(this,&FluHotkey::sequenceChanged,this,[=]{
if(_hotkey){
delete _hotkey;
_hotkey = nullptr;
}
_hotkey = new QHotkey(QKeySequence(_sequence), true, qApp);
this->isRegistered(_hotkey->isRegistered());
QObject::connect(_hotkey, &QHotkey::activated, qApp, [=](){
Q_EMIT this->activated();
});
QObject::connect(_hotkey, &QHotkey::registeredChanged, qApp, [=](){
this->isRegistered(_hotkey->isRegistered());
});
});
}
FluHotkey::~FluHotkey(){
if(_hotkey){
delete _hotkey;
_hotkey = nullptr;
}
}