summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorMichael M <mchtly@gmail.com>2017-06-26 23:23:22 -0700
committerMichael M <mchtly@gmail.com>2017-07-26 10:30:02 -0700
commit0437f4c4867cc73fdaf99c14925295c5de4b13ea (patch)
tree28904a8e90f7b44867e9aeb731319317c37e54a5 /Source/Core
parentc624ef43f049617c6fe6d6928407db0754c4b401 (diff)
IOWindow: use BlockUserInputFilter
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinQt2/Config/Mapping/IOWindow.cpp20
-rw-r--r--Source/Core/DolphinQt2/Config/Mapping/IOWindow.h1
2 files changed, 8 insertions, 13 deletions
diff --git a/Source/Core/DolphinQt2/Config/Mapping/IOWindow.cpp b/Source/Core/DolphinQt2/Config/Mapping/IOWindow.cpp
index 16f0186cb2..216da815fa 100644
--- a/Source/Core/DolphinQt2/Config/Mapping/IOWindow.cpp
+++ b/Source/Core/DolphinQt2/Config/Mapping/IOWindow.cpp
@@ -22,6 +22,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"
@@ -172,11 +173,10 @@ void IOWindow::OnDialogButtonPressed(QAbstractButton* button)
void IOWindow::OnDetectButtonPressed()
{
- if (m_block.IsSet())
- return;
+ installEventFilter(BlockUserInputFilter::Instance());
+ grabKeyboard();
+ grabMouse();
- m_block.Set(true);
- m_expression_text->setEnabled(false);
std::thread([this] {
auto* btn = m_type == IOWindow::Type::Input ? m_detect_button : m_test_button;
const auto old_label = btn->text();
@@ -195,8 +195,10 @@ void IOWindow::OnDetectButtonPressed()
if (list.size() > 0)
m_option_list->setCurrentItem(list[0]);
}
- m_expression_text->setEnabled(true);
- m_block.Set(false);
+
+ releaseMouse();
+ releaseKeyboard();
+ removeEventFilter(BlockUserInputFilter::Instance());
}).detach();
}
@@ -209,9 +211,6 @@ void IOWindow::OnRangeChanged(int value)
void IOWindow::UpdateOptionList()
{
- if (m_block.IsSet())
- return;
-
m_option_list->clear();
const auto device = g_controller_interface.FindDevice(m_devq);
@@ -234,7 +233,6 @@ void IOWindow::UpdateOptionList()
void IOWindow::UpdateDeviceList()
{
- m_block.Set(true);
m_devices_combo->clear();
Core::RunAsCPUThread([&] {
@@ -255,6 +253,4 @@ void IOWindow::UpdateDeviceList()
m_devices_combo->setCurrentIndex(0);
});
-
- m_block.Set(false);
}
diff --git a/Source/Core/DolphinQt2/Config/Mapping/IOWindow.h b/Source/Core/DolphinQt2/Config/Mapping/IOWindow.h
index b59d84db65..d12766a6c7 100644
--- a/Source/Core/DolphinQt2/Config/Mapping/IOWindow.h
+++ b/Source/Core/DolphinQt2/Config/Mapping/IOWindow.h
@@ -94,6 +94,5 @@ private:
ControllerEmu::EmulatedController* m_controller;
ciface::Core::DeviceQualifier m_devq;
- Common::Flag m_block;
Type m_type;
};