diff options
author | Ferran Pujol Camins <ferranpujolcamins@gmail.com> | 2023-06-10 17:01:08 +0200 |
---|---|---|
committer | Ferran Pujol Camins <ferranpujolcamins@gmail.com> | 2023-06-10 17:01:08 +0200 |
commit | 307cfc8f8e54abba47b9d65a03648f46fc4a149f (patch) | |
tree | d963ea121f2cb523b54898b666448f4a0493c435 | |
parent | 6eed9dc13ab15021e811ad243b47cc70bb34286e (diff) |
Add ControlObject::exists method
-rw-r--r-- | src/control/controlobject.cpp | 4 | ||||
-rw-r--r-- | src/control/controlobject.h | 3 | ||||
-rw-r--r-- | src/controllers/controllerlearningeventfilter.cpp | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/src/control/controlobject.cpp b/src/control/controlobject.cpp index ebce489cad..911693b75f 100644 --- a/src/control/controlobject.cpp +++ b/src/control/controlobject.cpp @@ -67,6 +67,10 @@ ControlObject* ControlObject::getControl(const ConfigKey& key, ControlFlags flag return nullptr; } +bool ControlObject::exists(const ConfigKey& key) { + return !ControlDoublePrivate::getControl(key, ControlFlag::NoWarnIfMissing).isNull(); +} + void ControlObject::setValueFromMidi(MidiOpCode o, double v) { m_pControl->setValueFromMidi(o, v); } diff --git a/src/control/controlobject.h b/src/control/controlobject.h index d36b2add69..4d542e6c4d 100644 --- a/src/control/controlobject.h +++ b/src/control/controlobject.h @@ -33,6 +33,9 @@ class ControlObject : public QObject { return getControl(key, flags); } + // Checks whether a ControlObject exists or not + static bool exists(const ConfigKey& key); + QString name() const { return m_pControl ? m_pControl->name() : QString(); } diff --git a/src/controllers/controllerlearningeventfilter.cpp b/src/controllers/controllerlearningeventfilter.cpp index 4539d03e82..31ce624607 100644 --- a/src/controllers/controllerlearningeventfilter.cpp +++ b/src/controllers/controllerlearningeventfilter.cpp @@ -68,8 +68,7 @@ bool ControllerLearningEventFilter::eventFilter(QObject* pObject, QEvent* pEvent } ConfigKey key = pControl->getKey(); key.item = key.item + "_set_default"; - auto pResetControl = PollingControlProxy(key, ControlFlag::AllowMissingOrInvalid); - if (pResetControl.valid()) { + if (ControlObject::exists(key)) { qDebug() << "Right-click reset maps MIDI to:" << key.group << key.item; emit controlClicked(key); } |