Added Qt Hex Editor goto Address Dialog. Added RAM search to Qt GUI capability list.
This commit is contained in:
parent
e77dd77b7c
commit
5715ec235a
2
TODO-SDL
2
TODO-SDL
|
@ -38,7 +38,7 @@ Game genie load/enable capability | YES | YES
|
||||||
Movie record/save/play functionality | YES | YES |
|
Movie record/save/play functionality | YES | YES |
|
||||||
Cheat search window | YES | YES |
|
Cheat search window | YES | YES |
|
||||||
Active Cheat window | YES | YES |
|
Active Cheat window | YES | YES |
|
||||||
RAM Search Window | NO | NO |
|
RAM Search Window | YES | NO |
|
||||||
RAM Watch Window | YES | YES |
|
RAM Watch Window | YES | YES |
|
||||||
Memory Watch Window | NO | NO |
|
Memory Watch Window | NO | NO |
|
||||||
TAS Editor | NO | NO |
|
TAS Editor | NO | NO |
|
||||||
|
|
|
@ -563,7 +563,7 @@ HexEditorDialog_t::HexEditorDialog_t(QWidget *parent)
|
||||||
|
|
||||||
// File -> Save ROM
|
// File -> Save ROM
|
||||||
saveROM = new QAction(tr("Save ROM"), this);
|
saveROM = new QAction(tr("Save ROM"), this);
|
||||||
//saveROM->setShortcuts(QKeySequence::Open);
|
//saveROM->setShortcut(QKeySequence::Open);
|
||||||
saveROM->setStatusTip(tr("Save ROM File"));
|
saveROM->setStatusTip(tr("Save ROM File"));
|
||||||
connect(saveROM, SIGNAL(triggered()), this, SLOT(saveRomFile(void)) );
|
connect(saveROM, SIGNAL(triggered()), this, SLOT(saveRomFile(void)) );
|
||||||
|
|
||||||
|
@ -571,12 +571,20 @@ HexEditorDialog_t::HexEditorDialog_t(QWidget *parent)
|
||||||
|
|
||||||
// File -> Save ROM As
|
// File -> Save ROM As
|
||||||
saveROM = new QAction(tr("Save ROM As"), this);
|
saveROM = new QAction(tr("Save ROM As"), this);
|
||||||
//saveROM->setShortcuts(QKeySequence::Open);
|
//saveROM->setShortcut(QKeySequence::Open);
|
||||||
saveROM->setStatusTip(tr("Save ROM File As"));
|
saveROM->setStatusTip(tr("Save ROM File As"));
|
||||||
connect(saveROM, SIGNAL(triggered()), this, SLOT(saveRomFileAs(void)) );
|
connect(saveROM, SIGNAL(triggered()), this, SLOT(saveRomFileAs(void)) );
|
||||||
|
|
||||||
fileMenu->addAction(saveROM);
|
fileMenu->addAction(saveROM);
|
||||||
|
|
||||||
|
// File -> Goto Address
|
||||||
|
gotoAddrAct = new QAction(tr("Goto Addresss"), this);
|
||||||
|
gotoAddrAct->setShortcut(QKeySequence(tr("Ctrl+A")));
|
||||||
|
gotoAddrAct->setStatusTip(tr("Goto Address"));
|
||||||
|
connect(gotoAddrAct, SIGNAL(triggered()), this, SLOT(openGotoAddrDialog(void)) );
|
||||||
|
|
||||||
|
fileMenu->addAction(gotoAddrAct);
|
||||||
|
|
||||||
fileMenu->addSeparator();
|
fileMenu->addSeparator();
|
||||||
|
|
||||||
// File -> Close
|
// File -> Close
|
||||||
|
@ -1132,6 +1140,11 @@ void HexEditorDialog_t::updatePeriodic(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
void HexEditorDialog_t::openGotoAddrDialog(void)
|
||||||
|
{
|
||||||
|
editor->openGotoAddrDialog();
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
QHexEdit::QHexEdit(QWidget *parent)
|
QHexEdit::QHexEdit(QWidget *parent)
|
||||||
: QWidget( parent )
|
: QWidget( parent )
|
||||||
{
|
{
|
||||||
|
@ -1361,6 +1374,33 @@ void QHexEdit::resizeEvent(QResizeEvent *event)
|
||||||
|
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
void QHexEdit::openGotoAddrDialog(void)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
char stmp[128];
|
||||||
|
QInputDialog dialog(this);
|
||||||
|
|
||||||
|
sprintf( stmp, "Specify Address [ 0x0 -> 0x%X ]", mb.size()-1 );
|
||||||
|
|
||||||
|
dialog.setWindowTitle( tr("Goto Address") );
|
||||||
|
dialog.setLabelText( tr(stmp) );
|
||||||
|
dialog.setOkButtonText( tr("Go") );
|
||||||
|
//dialog.setTextValue( tr("0") );
|
||||||
|
|
||||||
|
dialog.show();
|
||||||
|
ret = dialog.exec();
|
||||||
|
|
||||||
|
if ( QDialog::Accepted == ret )
|
||||||
|
{
|
||||||
|
int addr;
|
||||||
|
std::string s = dialog.textValue().toStdString();
|
||||||
|
|
||||||
|
addr = strtol( s.c_str(), NULL, 16 );
|
||||||
|
|
||||||
|
parent->gotoAddress(addr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
void QHexEdit::resetCursor(void)
|
void QHexEdit::resetCursor(void)
|
||||||
{
|
{
|
||||||
cursorBlink = true;
|
cursorBlink = true;
|
||||||
|
@ -1599,6 +1639,13 @@ void QHexEdit::keyPressEvent(QKeyEvent *event)
|
||||||
vbar->setValue( lineOffset );
|
vbar->setValue( lineOffset );
|
||||||
resetCursor();
|
resetCursor();
|
||||||
}
|
}
|
||||||
|
else if (Qt::ControlModifier == event->modifiers())
|
||||||
|
{
|
||||||
|
if ( event->key() == Qt::Key_A )
|
||||||
|
{
|
||||||
|
openGotoAddrDialog();
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (event->key() == Qt::Key_Tab && (cursorPosX < 32) )
|
else if (event->key() == Qt::Key_Tab && (cursorPosX < 32) )
|
||||||
{ // switch from hex to ascii edit
|
{ // switch from hex to ascii edit
|
||||||
cursorPosX = 32 + (cursorPosX / 2);
|
cursorPosX = 32 + (cursorPosX / 2);
|
||||||
|
|
|
@ -113,6 +113,7 @@ class QHexEdit : public QWidget
|
||||||
void setForeGroundColor( QColor fg );
|
void setForeGroundColor( QColor fg );
|
||||||
void setBackGroundColor( QColor bg );
|
void setBackGroundColor( QColor bg );
|
||||||
void memModeUpdate(void);
|
void memModeUpdate(void);
|
||||||
|
void openGotoAddrDialog(void);
|
||||||
int checkMemActivity(void);
|
int checkMemActivity(void);
|
||||||
int getAddr(void){ return cursorAddr; };
|
int getAddr(void){ return cursorAddr; };
|
||||||
|
|
||||||
|
@ -221,6 +222,7 @@ class HexEditorDialog_t : public QDialog
|
||||||
QAction *viewPPU;
|
QAction *viewPPU;
|
||||||
QAction *viewOAM;
|
QAction *viewOAM;
|
||||||
QAction *viewROM;
|
QAction *viewROM;
|
||||||
|
QAction *gotoAddrAct;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -242,6 +244,7 @@ class HexEditorDialog_t : public QDialog
|
||||||
void pickForeGroundColor(void);
|
void pickForeGroundColor(void);
|
||||||
void pickBackGroundColor(void);
|
void pickBackGroundColor(void);
|
||||||
void removeAllBookmarks(void);
|
void removeAllBookmarks(void);
|
||||||
|
void openGotoAddrDialog(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
int hexEditorNumWindows(void);
|
int hexEditorNumWindows(void);
|
||||||
|
|
Loading…
Reference in New Issue