Added a run to cursor debugger feature to Qt debugger window assembly view context menu.
This commit is contained in:
parent
13ea28dad4
commit
d3b779a4e3
|
@ -1663,6 +1663,14 @@ void ConsoleDebugger::resetCountersCB (void)
|
|||
updateRegisterView();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void ConsoleDebugger::asmViewCtxMenuRunToCursor(void)
|
||||
{
|
||||
watchpoint[64].address = asmView->getCtxMenuAddr();
|
||||
watchpoint[64].flags = WP_E|WP_X;
|
||||
|
||||
FCEUI_SetEmulationPaused(0);
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void ConsoleDebugger::asmViewCtxMenuAddBP(void)
|
||||
{
|
||||
watchpointinfo wp;
|
||||
|
@ -2958,7 +2966,12 @@ void QAsmView::scrollToPC(void)
|
|||
{
|
||||
if ( asmPC != NULL )
|
||||
{
|
||||
lineOffset = asmPC->line;
|
||||
lineOffset = asmPC->line - (viewLines / 2);
|
||||
|
||||
if ( lineOffset < 0 )
|
||||
{
|
||||
lineOffset = 0;
|
||||
}
|
||||
vbar->setValue( lineOffset );
|
||||
}
|
||||
}
|
||||
|
@ -3579,6 +3592,7 @@ void QAsmView::contextMenuEvent(QContextMenuEvent *event)
|
|||
QAction *act;
|
||||
QMenu menu(this);
|
||||
QPoint c = convPixToCursor( event->pos() );
|
||||
bool enableRunToCursor = false;
|
||||
|
||||
line = lineOffset + c.y();
|
||||
|
||||
|
@ -3591,10 +3605,22 @@ void QAsmView::contextMenuEvent(QContextMenuEvent *event)
|
|||
if ( selAddrValue < 0 )
|
||||
{
|
||||
ctxMenuAddr = addr = asmEntry[line]->addr;
|
||||
|
||||
enableRunToCursor = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ctxMenuAddr = addr = selAddrValue;
|
||||
|
||||
enableRunToCursor = (selAddrValue == asmEntry[line]->addr);
|
||||
}
|
||||
|
||||
if ( enableRunToCursor )
|
||||
{
|
||||
act = new QAction(tr("Run To Cursor"), &menu);
|
||||
menu.addAction(act);
|
||||
act->setShortcut( QKeySequence(tr("Ctrl+F10")));
|
||||
connect( act, SIGNAL(triggered(void)), parent, SLOT(asmViewCtxMenuRunToCursor(void)) );
|
||||
}
|
||||
|
||||
act = new QAction(tr("Add Breakpoint"), &menu);
|
||||
|
|
|
@ -291,6 +291,7 @@ class ConsoleDebugger : public QDialog
|
|||
void asmViewCtxMenuAddBM(void);
|
||||
void asmViewCtxMenuAddSym(void);
|
||||
void asmViewCtxMenuOpenHexEdit(void);
|
||||
void asmViewCtxMenuRunToCursor(void);
|
||||
private slots:
|
||||
void updatePeriodic(void);
|
||||
void hbarChanged(int value);
|
||||
|
|
Loading…
Reference in New Issue