diff --git a/Source/Core/DolphinQt2/Config/Mapping/MappingWindow.cpp b/Source/Core/DolphinQt2/Config/Mapping/MappingWindow.cpp index e528133980..dadcee805e 100644 --- a/Source/Core/DolphinQt2/Config/Mapping/MappingWindow.cpp +++ b/Source/Core/DolphinQt2/Config/Mapping/MappingWindow.cpp @@ -289,7 +289,18 @@ void MappingWindow::SetMappingType(MappingWindow::Type type) widget = new HotkeyGeneral(this); AddWidget(tr("General"), widget); AddWidget(tr("TAS Tools"), new HotkeyTAS(this)); - AddWidget(tr("Debugging"), new HotkeyDebugging(this)); + + HotkeyDebugging* debugging_widget = new HotkeyDebugging(this); + QWidget* debugging_widget_wrapper = GetWrappedWidget(debugging_widget, this, 150, 150); + connect(&Settings::Instance(), &Settings::DebugModeToggled, this, [=](bool enabled) { + if (enabled) + m_tab_widget->insertTab(2, debugging_widget_wrapper, tr("Debugging")); + else + m_tab_widget->removeTab(2); + }); + if (Settings::Instance().IsDebugModeEnabled()) + AddWidget(tr("Debugging"), debugging_widget); + AddWidget(tr("Wii and Wii Remote"), new HotkeyWii(this)); AddWidget(tr("Graphics"), new HotkeyGraphics(this)); AddWidget(tr("3D"), new Hotkey3D(this)); diff --git a/Source/Core/DolphinQt2/HotkeyScheduler.cpp b/Source/Core/DolphinQt2/HotkeyScheduler.cpp index f986feaf9a..f9067e5981 100644 --- a/Source/Core/DolphinQt2/HotkeyScheduler.cpp +++ b/Source/Core/DolphinQt2/HotkeyScheduler.cpp @@ -213,29 +213,10 @@ void HotkeyScheduler::Run() IsHotkey(HK_TRIGGER_SYNC_BUTTON, true)); } - if (IsHotkey(HK_STEP)) - emit Step(); - - if (IsHotkey(HK_STEP_OVER)) - emit StepOver(); - - if (IsHotkey(HK_STEP_OUT)) - emit StepOut(); - - if (IsHotkey(HK_SKIP)) - emit Skip(); - - if (IsHotkey(HK_SHOW_PC)) - emit ShowPC(); - - if (IsHotkey(HK_SET_PC)) - emit Skip(); - - if (IsHotkey(HK_BP_TOGGLE)) - emit ToggleBreakpoint(); - - if (IsHotkey(HK_BP_ADD)) - emit AddBreakpoint(); + if (SConfig::GetInstance().bEnableDebugging) + { + CheckDebuggingHotkeys(); + } // TODO: HK_MBP_ADD @@ -468,3 +449,30 @@ void HotkeyScheduler::Run() emit StateSaveUndo(); } } + +void HotkeyScheduler::CheckDebuggingHotkeys() +{ + if (IsHotkey(HK_STEP)) + emit Step(); + + if (IsHotkey(HK_STEP_OVER)) + emit StepOver(); + + if (IsHotkey(HK_STEP_OUT)) + emit StepOut(); + + if (IsHotkey(HK_SKIP)) + emit Skip(); + + if (IsHotkey(HK_SHOW_PC)) + emit ShowPC(); + + if (IsHotkey(HK_SET_PC)) + emit Skip(); + + if (IsHotkey(HK_BP_TOGGLE)) + emit ToggleBreakpoint(); + + if (IsHotkey(HK_BP_ADD)) + emit AddBreakpoint(); +} diff --git a/Source/Core/DolphinQt2/HotkeyScheduler.h b/Source/Core/DolphinQt2/HotkeyScheduler.h index 27d0d36134..92632c4658 100644 --- a/Source/Core/DolphinQt2/HotkeyScheduler.h +++ b/Source/Core/DolphinQt2/HotkeyScheduler.h @@ -57,6 +57,7 @@ signals: private: void Run(); + void CheckDebuggingHotkeys(); Common::Flag m_stop_requested; std::thread m_thread;