1
0
Fork 0

GUI: allow ctrl+down/up to change the dump offset with +/-1

This commit is contained in:
mrexodia 2016-10-17 17:13:59 +02:00
parent b1a52477b5
commit 96e07deeef
No known key found for this signature in database
GPG Key ID: FC89E0AAA0C1AAD8
3 changed files with 27 additions and 0 deletions

View File

@ -629,6 +629,8 @@ void AbstractTableView::resizeEvent(QResizeEvent* event)
void AbstractTableView::keyPressEvent(QKeyEvent* event)
{
int wKey = event->key();
if(event->modifiers())
return;
if(wKey == Qt::Key_Up)
{

View File

@ -470,6 +470,30 @@ void HexDump::mouseReleaseEvent(QMouseEvent* event)
AbstractTableView::mouseReleaseEvent(event);
}
void HexDump::keyPressEvent(QKeyEvent* event)
{
if(event->key() == Qt::Key_Up && event->modifiers() == Qt::ControlModifier)
{
duint offsetVa = rvaToVa(getTableOffsetRva()) - 1;
if(DbgMemFindBaseAddr(rvaToVa(getTableOffsetRva()), nullptr) == DbgMemFindBaseAddr(offsetVa, nullptr))
{
printDumpAt(offsetVa);
addVaToHistory(offsetVa);
}
}
else if(event->key() == Qt::Key_Down && event->modifiers() == Qt::ControlModifier)
{
duint offsetVa = rvaToVa(getTableOffsetRva()) + 1;
if(DbgMemFindBaseAddr(rvaToVa(getTableOffsetRva()), nullptr) == DbgMemFindBaseAddr(offsetVa, nullptr))
{
printDumpAt(offsetVa);
addVaToHistory(offsetVa);
}
}
else
AbstractTableView::keyPressEvent(event);
}
QString HexDump::paintContent(QPainter* painter, dsint rowBase, int rowOffset, int col, int x, int y, int w, int h)
{
// Reset byte offset when base address is reached

View File

@ -95,6 +95,7 @@ public:
void mouseMoveEvent(QMouseEvent* event);
void mousePressEvent(QMouseEvent* event);
void mouseReleaseEvent(QMouseEvent* event);
void keyPressEvent(QKeyEvent* event);
QString paintContent(QPainter* painter, dsint rowBase, int rowOffset, int col, int x, int y, int w, int h);
void paintGraphicDump(QPainter* painter, int x, int y, int addr);