mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 11:36:13 +00:00
Debugger: Hide breakpoint and callstack list if unused (#12266)
This commit is contained in:
parent
ccb2724fc4
commit
69ceebeb05
3 changed files with 22 additions and 0 deletions
|
@ -26,6 +26,9 @@ breakpoint_list::breakpoint_list(QWidget* parent, breakpoint_handler* handler) :
|
|||
m_delete_action->setShortcutContext(Qt::WidgetShortcut);
|
||||
connect(m_delete_action, &QAction::triggered, this, &breakpoint_list::OnBreakpointListDelete);
|
||||
addAction(m_delete_action);
|
||||
|
||||
// Hide until used in order to allow as much space for registers panel as possible
|
||||
hide();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -46,6 +49,8 @@ void breakpoint_list::ClearBreakpoints()
|
|||
m_ppu_breakpoint_handler->RemoveBreakpoint(loc);
|
||||
delete currentItem;
|
||||
}
|
||||
|
||||
hide();
|
||||
}
|
||||
|
||||
void breakpoint_list::RemoveBreakpoint(u32 addr)
|
||||
|
@ -64,6 +69,11 @@ void breakpoint_list::RemoveBreakpoint(u32 addr)
|
|||
}
|
||||
|
||||
Q_EMIT RequestShowAddress(addr);
|
||||
|
||||
if (!count())
|
||||
{
|
||||
hide();
|
||||
}
|
||||
}
|
||||
|
||||
bool breakpoint_list::AddBreakpoint(u32 pc)
|
||||
|
@ -86,6 +96,8 @@ bool breakpoint_list::AddBreakpoint(u32 pc)
|
|||
|
||||
Q_EMIT RequestShowAddress(pc);
|
||||
|
||||
show();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,9 @@ call_stack_list::call_stack_list(QWidget* parent) : QListWidget(parent)
|
|||
|
||||
// connects
|
||||
connect(this, &QListWidget::itemDoubleClicked, this, &call_stack_list::OnCallStackListDoubleClicked);
|
||||
|
||||
// Hide until used in order to allow as much space for registers panel as possible
|
||||
hide();
|
||||
}
|
||||
|
||||
void call_stack_list::HandleUpdate(const std::vector<std::pair<u32, u32>>& call_stack)
|
||||
|
@ -25,6 +28,8 @@ void call_stack_list::HandleUpdate(const std::vector<std::pair<u32, u32>>& call_
|
|||
call_stack_item->setData(Qt::UserRole, { addr.first });
|
||||
addItem(call_stack_item);
|
||||
}
|
||||
|
||||
setVisible(!call_stack.empty());
|
||||
}
|
||||
|
||||
void call_stack_list::OnCallStackListDoubleClicked()
|
||||
|
|
|
@ -860,6 +860,7 @@ void debugger_frame::UpdateUnitList()
|
|||
if (emu_state == system_state::stopped)
|
||||
{
|
||||
ClearBreakpoints();
|
||||
ClearCallStack();
|
||||
}
|
||||
|
||||
OnSelectUnit();
|
||||
|
@ -982,14 +983,18 @@ void debugger_frame::WritePanels()
|
|||
}
|
||||
|
||||
int loc = m_misc_state->verticalScrollBar()->value();
|
||||
int hloc = m_misc_state->horizontalScrollBar()->value();
|
||||
m_misc_state->clear();
|
||||
m_misc_state->setText(qstr(cpu->dump_misc()));
|
||||
m_misc_state->verticalScrollBar()->setValue(loc);
|
||||
m_misc_state->horizontalScrollBar()->setValue(hloc);
|
||||
|
||||
loc = m_regs->verticalScrollBar()->value();
|
||||
hloc = m_regs->horizontalScrollBar()->value();
|
||||
m_regs->clear();
|
||||
m_regs->setText(qstr(cpu->dump_regs()));
|
||||
m_regs->verticalScrollBar()->setValue(loc);
|
||||
m_regs->horizontalScrollBar()->setValue(hloc);
|
||||
|
||||
Q_EMIT CallStackUpdateRequested(cpu->dump_callstack_list());
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue