From 54b9263597032f1ffc588111e9a03c0e112882b0 Mon Sep 17 00:00:00 2001 From: baldurk Date: Sat, 3 Jun 2017 00:59:57 +0100 Subject: [PATCH] Persist the mesh view's dock layout between sessions --- qrenderdoc/Windows/BufferViewer.cpp | 14 ++++++++++++++ qrenderdoc/Windows/BufferViewer.h | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index 81af7652a..2e26b3ec2 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -1438,6 +1438,20 @@ void BufferViewer::OnEventChanged(uint32_t eventID) }); } +QVariant BufferViewer::persistData() +{ + QVariantMap state = ui->dockarea->saveState(); + + return state; +} + +void BufferViewer::setPersistData(const QVariant &persistData) +{ + QVariantMap state = persistData.toMap(); + + ui->dockarea->restoreState(state); +} + void BufferViewer::RT_FetchMeshData(IReplayController *r) { const DrawcallDescription *draw = m_Ctx.CurDrawcall(); diff --git a/qrenderdoc/Windows/BufferViewer.h b/qrenderdoc/Windows/BufferViewer.h index 540934bf1..aba03a2df 100644 --- a/qrenderdoc/Windows/BufferViewer.h +++ b/qrenderdoc/Windows/BufferViewer.h @@ -56,6 +56,8 @@ class BufferViewer : public QFrame, public IBufferViewer, public ILogViewer { Q_OBJECT + Q_PROPERTY(QVariant persistData READ persistData WRITE setPersistData DESIGNABLE false SCRIPTABLE false) + public: explicit BufferViewer(ICaptureContext &ctx, bool meshview, QWidget *parent = 0); ~BufferViewer(); @@ -82,6 +84,9 @@ public: void OnSelectedEventChanged(uint32_t eventID) override {} void OnEventChanged(uint32_t eventID) override; + QVariant persistData(); + void setPersistData(const QVariant &persistData); + private slots: // automatic slots void on_outputTabs_currentChanged(int index);