Save wrapper and splitter state as base64 so it encodes to JSON

This commit is contained in:
baldurk
2016-10-07 15:58:47 +02:00
parent 4d2f27d905
commit bd7b3e3399
2 changed files with 4 additions and 4 deletions
@@ -443,7 +443,7 @@ void ToolWindowManager::startDrag(const QList<QWidget *> &toolWindows) {
QVariantMap ToolWindowManager::saveSplitterState(QSplitter *splitter) {
QVariantMap result;
result["state"] = splitter->saveState();
result["state"] = splitter->saveState().toBase64();
result["type"] = "splitter";
QVariantList items;
for(int i = 0; i < splitter->count(); i++) {
@@ -485,7 +485,7 @@ QSplitter *ToolWindowManager::restoreSplitterState(const QVariantMap &data) {
qWarning("unknown item type");
}
}
splitter->restoreState(data["state"].toByteArray());
splitter->restoreState(QByteArray::fromBase64(data["state"].toByteArray()));
return splitter;
}
@@ -65,7 +65,7 @@ QVariantMap ToolWindowManagerWrapper::saveState() {
return QVariantMap();
}
QVariantMap result;
result["geometry"] = saveGeometry();
result["geometry"] = saveGeometry().toBase64();
QSplitter* splitter = findChild<QSplitter*>(QString(), Qt::FindDirectChildrenOnly);
if (splitter) {
result["splitter"] = m_manager->saveSplitterState(splitter);
@@ -82,7 +82,7 @@ QVariantMap ToolWindowManagerWrapper::saveState() {
}
void ToolWindowManagerWrapper::restoreState(const QVariantMap &data) {
restoreGeometry(data["geometry"].toByteArray());
restoreGeometry(QByteArray::fromBase64(data["geometry"].toByteArray()));
if (layout()->count() > 0) {
qWarning("wrapper is not empty");
return;