BinEditor: Simplify address field updates

Change-Id: Ia57348b25a28164061bca4f7cf336a9e9a555abb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2024-07-17 12:49:01 +02:00
parent 484d63ffad
commit 60206de94f

View File

@@ -216,7 +216,7 @@ public:
void zoomF(float delta); void zoomF(float delta);
qint64 cursorPosition() const; qint64 cursorPosition() const { return m_cursorPosition; }
void setCursorPosition(qint64 pos, MoveMode moveMode = MoveAnchor); void setCursorPosition(qint64 pos, MoveMode moveMode = MoveAnchor);
void jumpToAddress(quint64 address); void jumpToAddress(quint64 address);
@@ -253,8 +253,8 @@ public:
QLineEdit *addressEdit() const { return m_addressEdit; } QLineEdit *addressEdit() const { return m_addressEdit; }
void updateCursorPosition(qint64 position) { void updateAddressDisplay() {
m_addressEdit->setText(QString::number(baseAddress() + position, 16)); m_addressEdit->setText(QString::number(baseAddress() + m_cursorPosition, 16));
} }
void onDataAdded() { viewport()->update(); } void onDataAdded() { viewport()->update(); }
@@ -394,10 +394,9 @@ BinEditorWidget::BinEditorWidget(BinEditorDocument *doc)
connect(m_addressEdit, &QLineEdit::editingFinished, this, [this] { connect(m_addressEdit, &QLineEdit::editingFinished, this, [this] {
jumpToAddress(m_addressEdit->text().toULongLong(nullptr, 16)); jumpToAddress(m_addressEdit->text().toULongLong(nullptr, 16));
updateCursorPosition(cursorPosition());
}); });
updateCursorPosition(cursorPosition()); updateAddressDisplay();
init(); init();
} }
@@ -1243,12 +1242,6 @@ void BinEditorWidget::paintEvent(QPaintEvent *e)
} }
} }
qint64 BinEditorWidget::cursorPosition() const
{
return m_cursorPosition;
}
void BinEditorWidget::setCursorPosition(qint64 pos, MoveMode moveMode) void BinEditorWidget::setCursorPosition(qint64 pos, MoveMode moveMode)
{ {
pos = qMin(m_doc->m_size - 1, qMax(qint64(0), pos)); pos = qMin(m_doc->m_size - 1, qMax(qint64(0), pos));
@@ -1263,7 +1256,7 @@ void BinEditorWidget::setCursorPosition(qint64 pos, MoveMode moveMode)
updateLines(oldCursorPosition, m_cursorPosition); updateLines(oldCursorPosition, m_cursorPosition);
ensureCursorVisible(); ensureCursorVisible();
updateCursorPosition(m_cursorPosition); updateAddressDisplay();
} }
void BinEditorWidget::ensureCursorVisible() void BinEditorWidget::ensureCursorVisible()
@@ -1344,7 +1337,7 @@ void BinEditorWidget::clear()
m_cursorPosition = 0; m_cursorPosition = 0;
verticalScrollBar()->setValue(0); verticalScrollBar()->setValue(0);
updateCursorPosition(m_cursorPosition); updateAddressDisplay();
viewport()->update(); viewport()->update();
} }