Save and restore ToolWindowManager state directly as QVariantMap

This commit is contained in:
baldurk
2016-10-07 15:49:39 +02:00
parent b87968ae21
commit 560fe1a120
2 changed files with 6 additions and 7 deletions
@@ -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<ToolWindowManagerWrapper*>();
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;
+2 -2
View File
@@ -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 */