From 5498dfbc89df5a15a12de91566ad73344c7a1404 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Fri, 15 Jan 2016 15:28:35 +0100 Subject: [PATCH] Add support for contents() to BinEditorDocument Change-Id: I41c7541984ecc5128c8d742ee44f8b3227c671b6 Reviewed-by: Eike Ziller --- src/plugins/bineditor/bineditor.h | 2 ++ src/plugins/bineditor/bineditorplugin.cpp | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/bineditor/bineditor.h b/src/plugins/bineditor/bineditor.h index c9dfb1b6320..f8e74331250 100644 --- a/src/plugins/bineditor/bineditor.h +++ b/src/plugins/bineditor/bineditor.h @@ -63,6 +63,8 @@ public: Q_INVOKABLE void setSizes(quint64 startAddr, int range, int blockSize = 4096); int dataBlockSize() const { return m_blockSize; } + QByteArray contents() const { return dataMid(0, m_size); } + Q_INVOKABLE void addData(quint64 block, const QByteArray &data); bool newWindowRequestAllowed() const { return m_canRequestNewWindow; } diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 9f12867b7a0..1d686b5912d 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -232,13 +232,19 @@ public: this, SLOT(provideData(quint64))); connect(m_widget, SIGNAL(newRangeRequested(quint64)), this, SLOT(provideNewRange(quint64))); + connect(m_widget, &BinEditorWidget::dataChanged, this, &IDocument::contentsChanged); + } + + QByteArray contents() const override + { + return m_widget->contents(); } bool setContents(const QByteArray &contents) override { - if (!contents.isEmpty()) - return false; m_widget->clear(); + m_widget->setSizes(0, contents.length(), contents.length()); + m_widget->addData(0, contents); return true; }