diff options
| author | Michael M <mchtly@gmail.com> | 2017-06-26 23:23:22 -0700 |
|---|---|---|
| committer | Michael M <mchtly@gmail.com> | 2017-07-26 10:30:02 -0700 |
| commit | 0437f4c4867cc73fdaf99c14925295c5de4b13ea (patch) | |
| tree | 28904a8e90f7b44867e9aeb731319317c37e54a5 /Source/Core | |
| parent | c624ef43f049617c6fe6d6928407db0754c4b401 (diff) | |
IOWindow: use BlockUserInputFilter
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinQt2/Config/Mapping/IOWindow.cpp | 20 | ||||
| -rw-r--r-- | Source/Core/DolphinQt2/Config/Mapping/IOWindow.h | 1 |
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; }; |
