From 560fe1a1205de7e543c89be5dfcdc9568073a79f Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 7 Oct 2016 15:49:39 +0200 Subject: [PATCH] Save and restore ToolWindowManager state directly as QVariantMap --- .../3rdparty/toolwindowmanager/ToolWindowManager.cpp | 9 ++++----- .../3rdparty/toolwindowmanager/ToolWindowManager.h | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.cpp b/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.cpp index b8b90252d..7dde96226 100644 --- a/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.cpp +++ b/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.cpp @@ -291,13 +291,13 @@ void ToolWindowManager::setAllowFloatingWindow(bool allow) { m_allowFloatingWindow = allow; } -QVariant ToolWindowManager::saveState() { +QVariantMap ToolWindowManager::saveState() { QVariantMap result; result["toolWindowManagerStateFormat"] = 1; ToolWindowManagerWrapper* mainWrapper = findChild(); if (!mainWrapper) { qWarning("can't find main wrapper"); - return QVariant(); + return QVariantMap(); } result["mainWrapper"] = mainWrapper->saveState(); QVariantList floatingWindowsData; @@ -309,9 +309,8 @@ QVariant ToolWindowManager::saveState() { return result; } -void ToolWindowManager::restoreState(const QVariant &data) { - if (!data.isValid()) { return; } - QVariantMap dataMap = data.toMap(); +void ToolWindowManager::restoreState(const QVariantMap &dataMap) { + if (dataMap.isEmpty()) { return; } if (dataMap["toolWindowManagerStateFormat"].toInt() != 1) { qWarning("state format is not recognized"); return; diff --git a/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.h b/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.h index 3aa1fc052..b83d9e079 100644 --- a/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.h +++ b/qrenderdoc/3rdparty/toolwindowmanager/ToolWindowManager.h @@ -233,12 +233,12 @@ public: /*! * \brief saveState */ - QVariant saveState(); + QVariantMap saveState(); /*! * \brief restoreState */ - void restoreState(const QVariant& data); + void restoreState(const QVariantMap& data); /*! \cond PRIVATE */