GUI: added Fill with NOPs in disassembly + fixed binary menu separator in disasm/dump/stack
This commit is contained in:
parent
1249b04510
commit
95c6c08126
|
|
@ -241,9 +241,6 @@ void CPUDisassembly::setupRightClickContextMenu()
|
|||
mBinaryMenu->addAction(mBinaryEditAction);
|
||||
connect(mBinaryEditAction, SIGNAL(triggered()), this, SLOT(binaryEditSlot()));
|
||||
|
||||
//Binary->Separator
|
||||
mBinaryMenu->addSeparator();
|
||||
|
||||
//Binary->Fill
|
||||
mBinaryFillAction = new QAction("&Fill...", this);
|
||||
mBinaryFillAction->setShortcutContext(Qt::WidgetShortcut);
|
||||
|
|
@ -252,6 +249,17 @@ void CPUDisassembly::setupRightClickContextMenu()
|
|||
connect(mBinaryFillAction, SIGNAL(triggered()), this, SLOT(binaryFillSlot()));
|
||||
mBinaryMenu->addAction(mBinaryFillAction);
|
||||
|
||||
//Binary->Fill with NOPs
|
||||
mBinaryFillNopsAction = new QAction("Fill with &NOPs", this);
|
||||
mBinaryFillNopsAction->setShortcutContext(Qt::WidgetShortcut);
|
||||
mBinaryFillNopsAction->setShortcut(QKeySequence("ctrl+9"));
|
||||
this->addAction(mBinaryFillNopsAction);
|
||||
connect(mBinaryFillNopsAction, SIGNAL(triggered()), this, SLOT(binaryFillNopsSlot()));
|
||||
mBinaryMenu->addAction(mBinaryFillNopsAction);
|
||||
|
||||
//Binary->Separator
|
||||
mBinaryMenu->addSeparator();
|
||||
|
||||
//Binary->Copy
|
||||
mBinaryCopyAction = new QAction("&Copy", this);
|
||||
mBinaryCopyAction->setShortcutContext(Qt::WidgetShortcut);
|
||||
|
|
@ -895,6 +903,21 @@ void CPUDisassembly::binaryFillSlot()
|
|||
GuiUpdateAllViews();
|
||||
}
|
||||
|
||||
void CPUDisassembly::binaryFillNopsSlot()
|
||||
{
|
||||
HexEditDialog hexEdit(this);
|
||||
int_t selStart = getSelectionStart();
|
||||
int_t selSize = getSelectionEnd() - selStart + 1;
|
||||
byte_t* data = new byte_t[selSize];
|
||||
mMemPage->read(data, selStart, selSize);
|
||||
hexEdit.mHexEdit->setData(QByteArray((const char*)data, selSize));
|
||||
delete [] data;
|
||||
hexEdit.mHexEdit->fill(0, QString("90"));
|
||||
QByteArray patched(hexEdit.mHexEdit->data());
|
||||
mMemPage->write(patched, selStart, patched.size());
|
||||
GuiUpdateAllViews();
|
||||
}
|
||||
|
||||
void CPUDisassembly::binaryCopySlot()
|
||||
{
|
||||
HexEditDialog hexEdit(this);
|
||||
|
|
@ -949,4 +972,3 @@ void CPUDisassembly::binaryPasteIgnoreSizeSlot()
|
|||
mMemPage->write(patched.constData(), selStart, patched.size());
|
||||
GuiUpdateAllViews();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ public slots:
|
|||
void enableHighlightingMode();
|
||||
void binaryEditSlot();
|
||||
void binaryFillSlot();
|
||||
void binaryFillNopsSlot();
|
||||
void binaryCopySlot();
|
||||
void binaryPasteSlot();
|
||||
void binaryPasteIgnoreSizeSlot();
|
||||
|
|
@ -79,6 +80,7 @@ private:
|
|||
|
||||
QAction* mBinaryEditAction;
|
||||
QAction* mBinaryFillAction;
|
||||
QAction* mBinaryFillNopsAction;
|
||||
QAction* mBinaryCopyAction;
|
||||
QAction* mBinaryPasteAction;
|
||||
QAction* mBinaryPasteIgnoreSizeAction;
|
||||
|
|
|
|||
|
|
@ -90,9 +90,6 @@ void CPUDump::setupContextMenu()
|
|||
connect(mBinaryEditAction, SIGNAL(triggered()), this, SLOT(binaryEditSlot()));
|
||||
mBinaryMenu->addAction(mBinaryEditAction);
|
||||
|
||||
//Binary->Separator
|
||||
mBinaryMenu->addSeparator();
|
||||
|
||||
//Binary->Fill
|
||||
mBinaryFillAction = new QAction("&Fill...", this);
|
||||
mBinaryFillAction->setShortcutContext(Qt::WidgetShortcut);
|
||||
|
|
@ -101,6 +98,9 @@ void CPUDump::setupContextMenu()
|
|||
connect(mBinaryFillAction, SIGNAL(triggered()), this, SLOT(binaryFillSlot()));
|
||||
mBinaryMenu->addAction(mBinaryFillAction);
|
||||
|
||||
//Binary->Separator
|
||||
mBinaryMenu->addSeparator();
|
||||
|
||||
//Binary->Copy
|
||||
mBinaryCopyAction = new QAction("&Copy", this);
|
||||
mBinaryCopyAction->setShortcutContext(Qt::WidgetShortcut);
|
||||
|
|
|
|||
|
|
@ -61,9 +61,6 @@ void CPUStack::setupContextMenu()
|
|||
connect(mBinaryEditAction, SIGNAL(triggered()), this, SLOT(binaryEditSlot()));
|
||||
mBinaryMenu->addAction(mBinaryEditAction);
|
||||
|
||||
//Binary->Separator
|
||||
mBinaryMenu->addSeparator();
|
||||
|
||||
//Binary->Fill
|
||||
mBinaryFillAction = new QAction("&Fill...", this);
|
||||
mBinaryFillAction->setShortcutContext(Qt::WidgetShortcut);
|
||||
|
|
@ -72,6 +69,9 @@ void CPUStack::setupContextMenu()
|
|||
connect(mBinaryFillAction, SIGNAL(triggered()), this, SLOT(binaryFillSlot()));
|
||||
mBinaryMenu->addAction(mBinaryFillAction);
|
||||
|
||||
//Binary->Separator
|
||||
mBinaryMenu->addSeparator();
|
||||
|
||||
//Binary->Copy
|
||||
mBinaryCopyAction = new QAction("&Copy", this);
|
||||
mBinaryCopyAction->setShortcutContext(Qt::WidgetShortcut);
|
||||
|
|
|
|||
Loading…
Reference in New Issue