From cb3324284a40a2b5dc0ab169cfabe2d126ee09c1 Mon Sep 17 00:00:00 2001 From: mfreiholz Date: Thu, 11 Feb 2016 14:42:55 +0100 Subject: [PATCH] Serialize QSplitter sizes, too. --- AdvancedDockingSystem/src/ContainerWidget.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/AdvancedDockingSystem/src/ContainerWidget.cpp b/AdvancedDockingSystem/src/ContainerWidget.cpp index 80d3566..f5af656 100644 --- a/AdvancedDockingSystem/src/ContainerWidget.cpp +++ b/AdvancedDockingSystem/src/ContainerWidget.cpp @@ -370,6 +370,7 @@ void ContainerWidget::saveGeometryWalk(QDataStream& out, QWidget* widget) const out << 1; // Type = QSplitter out << ((sp->orientation() == Qt::Horizontal) ? (int) 1 : (int) 2); out << sp->count(); + out << sp->sizes(); for (int i = 0; i < sp->count(); ++i) { saveGeometryWalk(out, sp->widget(i)); @@ -397,7 +398,8 @@ bool ContainerWidget::restoreGeometryWalk(QDataStream& in, QSplitter* currentSpl if (type == 1) { int orientation, count; - in >> orientation >> count; + QList sizes; + in >> orientation >> count >> sizes; QSplitter* sp = newSplitter((Qt::Orientation) orientation); for (int i = 0; i < count; ++i) @@ -405,6 +407,8 @@ bool ContainerWidget::restoreGeometryWalk(QDataStream& in, QSplitter* currentSpl if (!restoreGeometryWalk(in, sp)) return false; } + sp->setSizes(sizes); + if (!currentSplitter) _splitter = sp; else @@ -423,7 +427,7 @@ bool ContainerWidget::restoreGeometryWalk(QDataStream& in, QSplitter* currentSpl in >> geom >> count; SectionWidget* sw = new SectionWidget(this); - sw->setGeometry(geom); +// sw->setGeometry(geom); for (int i = 0; i < count; ++i) { QString name;