summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
diff options
context:
space:
mode:
authorLeo Lam <leolino.lam@gmail.com>2017-08-02 12:13:56 +0800
committerGitHub <noreply@github.com>2017-08-02 12:13:56 +0800
commitd6e051c942683810eb93dd03a7a8f70584e096ce (patch)
tree096e743f97bd55d976cd148fda11520d6ac5348d /Source/Core/DolphinQt2/Config/Mapping/MappingButton.cpp
parentfb62dbac797fedc2fd7676afd7f572891a44498f (diff)
parent0437f4c4867cc73fdaf99c14925295c5de4b13ea (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.cpp23
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())