summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp
diff options
context:
space:
mode:
authorMichael M <mchtly@gmail.com>2018-07-05 14:17:47 -0700
committerMichael M <mchtly@gmail.com>2018-07-06 17:15:30 -0700
commitce98a9c71d3bb03bb127601c3d09c647a5d41767 (patch)
treea7693d245ae670c5c397d789af05f0a4d309f594 /Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp
parentb689a195ff283414968d4b433e389a06742e166c (diff)
Qt/MappingWindow: update devices combo box when hotplugging devices
Diffstat (limited to 'Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp
index 48e5a5f0f2..1b6f629c1c 100644
--- a/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp
+++ b/Source/Core/DolphinQt/Config/Mapping/MappingWindow.cpp
@@ -136,6 +136,8 @@ void MappingWindow::CreateMainLayout()
void MappingWindow::ConnectWidgets()
{
+ connect(&Settings::Instance(), &Settings::DevicesChanged, this,
+ &MappingWindow::OnGlobalDevicesChanged);
connect(m_button_box, &QDialogButtonBox::rejected, this, &QDialog::reject);
connect(m_devices_refresh, &QPushButton::clicked, this, &MappingWindow::RefreshDevices);
connect(m_devices_combo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
@@ -243,10 +245,14 @@ bool MappingWindow::IsMappingAllDevices() const
void MappingWindow::RefreshDevices()
{
+ Core::RunAsCPUThread([&] { g_controller_interface.RefreshDevices(); });
+}
+
+void MappingWindow::OnGlobalDevicesChanged()
+{
m_devices_combo->clear();
Core::RunAsCPUThread([&] {
- g_controller_interface.RefreshDevices();
m_controller->UpdateReferences(g_controller_interface);
const auto default_device = m_controller->GetDefaultDevice().ToString();