diff options
Diffstat (limited to 'Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp b/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp index d855b1af3a..66d178c5b2 100644 --- a/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp @@ -41,14 +41,8 @@ BreakpointWidget::BreakpointWidget(QWidget* parent) : QDockWidget(parent) CreateWidgets(); connect(&Settings::Instance(), &Settings::EmulationStateChanged, [this](Core::State state) { - if (!Settings::Instance().IsDebugModeEnabled()) - return; - - bool is_initialised = state != Core::State::Uninitialized; - m_new->setEnabled(is_initialised); - m_load->setEnabled(is_initialised); - m_save->setEnabled(is_initialised); - if (!is_initialised) + UpdateButtonsEnabled(); + if (state == Core::State::Uninitialized) { PowerPC::breakpoints.Clear(); PowerPC::memchecks.Clear(); @@ -65,8 +59,6 @@ BreakpointWidget::BreakpointWidget(QWidget* parent) : QDockWidget(parent) connect(&Settings::Instance(), &Settings::ThemeChanged, this, &BreakpointWidget::UpdateIcons); UpdateIcons(); - - Update(); } BreakpointWidget::~BreakpointWidget() @@ -138,8 +130,28 @@ void BreakpointWidget::closeEvent(QCloseEvent*) Settings::Instance().SetBreakpointsVisible(false); } +void BreakpointWidget::showEvent(QShowEvent* event) +{ + UpdateButtonsEnabled(); + Update(); +} + +void BreakpointWidget::UpdateButtonsEnabled() +{ + if (!isVisible()) + return; + + const bool is_initialised = Core::GetState() != Core::State::Uninitialized; + m_new->setEnabled(is_initialised); + m_load->setEnabled(is_initialised); + m_save->setEnabled(is_initialised); +} + void BreakpointWidget::Update() { + if (!isVisible()) + return; + m_table->clear(); m_table->setHorizontalHeaderLabels( |
