Now that QHotkey had a fix add keybind err handlin
This commit is contained in:
parent
0438b7ac82
commit
53a21bb2f1
2
QHotkey
2
QHotkey
@ -1 +1 @@
|
|||||||
Subproject commit 2578b69dc51e3786402777e650181c5735015e1a
|
Subproject commit 91f3542b5d11a6df8e5735ef03f336c399ceab93
|
@ -5,18 +5,21 @@
|
|||||||
#include <settings.hpp>
|
#include <settings.hpp>
|
||||||
|
|
||||||
QMap<QString, QHotkey *> hotkeys;
|
QMap<QString, QHotkey *> hotkeys;
|
||||||
QList<QString> regNames;
|
|
||||||
|
|
||||||
// func gets bound only on first set, or load
|
// func gets bound only on first set, or load
|
||||||
void hotkeying::hotkey(QString seqName, QKeySequence seq, std::function<void()> func) {
|
void hotkeying::hotkey(QString seqName, QKeySequence seq, std::function<void()> func) {
|
||||||
|
QHotkey *hotkey;
|
||||||
if (hotkeys.contains(seqName))
|
if (hotkeys.contains(seqName))
|
||||||
hotkeys.value(seqName)->setShortcut(seq, true);
|
(hotkey = hotkeys.value(seqName))->setShortcut(seq, true);
|
||||||
else {
|
else {
|
||||||
QHotkey *hotkey = new QHotkey(seq, true);
|
hotkey = new QHotkey(seq, true);
|
||||||
QObject::connect(hotkey, &QHotkey::activated, func);
|
QObject::connect(hotkey, &QHotkey::activated, func);
|
||||||
hotkeys.insert(seqName, hotkey);
|
hotkeys.insert(seqName, hotkey);
|
||||||
}
|
}
|
||||||
settings::settings().setValue(seqName.prepend("hotkey_"), seq.toString());
|
settings::settings().setValue(seqName.prepend("hotkey_"), seq.toString());
|
||||||
|
if (!hotkey->isRegistered() && !seq.toString().isEmpty())
|
||||||
|
qWarning().noquote().nospace()
|
||||||
|
<< "Could not bind the hotkey " << seqName << "! Is the keybind already registered?";
|
||||||
}
|
}
|
||||||
|
|
||||||
// forces the hotkey from settings
|
// forces the hotkey from settings
|
||||||
@ -31,6 +34,9 @@ void hotkeying::load(QString seqName, std::function<void()> func, QString def) {
|
|||||||
h = new QHotkey(def.isNull() ? "" : def, true);
|
h = new QHotkey(def.isNull() ? "" : def, true);
|
||||||
QObject::connect(h, &QHotkey::activated, func);
|
QObject::connect(h, &QHotkey::activated, func);
|
||||||
hotkeys.insert(seqName, h);
|
hotkeys.insert(seqName, h);
|
||||||
|
if (!h->isRegistered() && (settings::settings().contains(name) || !def.isEmpty()))
|
||||||
|
qWarning().noquote().nospace()
|
||||||
|
<< "Could not bind the hotkey " << seqName << "! Is the keybind already registered?";
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hotkeying::valid(QString seq) {
|
bool hotkeying::valid(QString seq) {
|
||||||
|
Loading…
Reference in New Issue
Block a user