diff options
| author | Leo Lam <leolino.lam@gmail.com> | 2017-08-02 12:13:56 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-02 12:13:56 +0800 |
| commit | d6e051c942683810eb93dd03a7a8f70584e096ce (patch) | |
| tree | 096e743f97bd55d976cd148fda11520d6ac5348d /Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp | |
| parent | fb62dbac797fedc2fd7676afd7f572891a44498f (diff) | |
| parent | 0437f4c4867cc73fdaf99c14925295c5de4b13ea (diff) | |
Merge pull request #5703 from ligfx/blockuserinputfilter
QtUtils: add BlockUserInputFilter
Diffstat (limited to 'Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp b/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp index 44bc67e3f0..7c01a527a2 100644 --- a/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp +++ b/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp @@ -15,6 +15,7 @@ #include "DolphinQt2/Config/Mapping/MappingCommon.h" #include "DolphinQt2/Config/Mapping/MappingWidget.h" #include "DolphinQt2/Config/Mapping/MappingWindow.h" +#include "DolphinQt2/QtUtils/BlockUserInputFilter.h" #include "InputCommon/ControlReference/ControlReference.h" #include "InputCommon/ControllerEmu/ControllerEmu.h" #include "InputCommon/ControllerInterface/ControllerInterface.h" @@ -42,9 +43,7 @@ void MappingButton::OnButtonPressed() if (m_parent->GetDevice() == nullptr || !m_reference->IsInput()) return; - if (!m_block.TestAndSet()) - return; - + installEventFilter(BlockUserInputFilter::Instance()); grabKeyboard(); grabMouse(); @@ -63,7 +62,7 @@ void MappingButton::OnButtonPressed() releaseMouse(); releaseKeyboard(); - m_block.Clear(); + removeEventFilter(BlockUserInputFilter::Instance()); if (!expr.isEmpty()) { @@ -97,22 +96,6 @@ void MappingButton::Update() m_parent->SaveSettings(); } -bool MappingButton::event(QEvent* event) -{ - const QEvent::Type event_type = event->type(); - // Returning 'true' means "yes, this event has been handled, don't propagate it to parent - // widgets". - if (m_block.IsSet() && - (event_type == QEvent::KeyPress || event_type == QEvent::KeyRelease || - event_type == QEvent::MouseButtonPress || event_type == QEvent::MouseButtonRelease || - event_type == QEvent::MouseButtonDblClick)) - { - return true; - } - - return QPushButton::event(event); -} - void MappingButton::mouseReleaseEvent(QMouseEvent* event) { switch (event->button()) |
