diff --git a/modules/gui/src/panel_bar/panel_bar.cc b/modules/gui/src/panel_bar/panel_bar.cc index 3f0579d95804a8b874380125d40959ab7626d1a7..db90f50d33ea08f0a312b020a4f66c20c66b64af 100644 --- a/modules/gui/src/panel_bar/panel_bar.cc +++ b/modules/gui/src/panel_bar/panel_bar.cc @@ -114,6 +114,7 @@ bool PanelBar::Save(const QString& prefix) settings.setArrayIndex(i); settings.setValue("class_name", widget_states_.at(i).name); settings.setValue("show", widget_states_.at(i).visible); + widget_states_.at(i).widget->Save(settings.group()); ++index; } } @@ -169,6 +170,13 @@ bool PanelBar::Restore(const QString& prefix) pwc->Restore(prefix); } } + + for (int i = 0; i < widget_states_.size(); ++i) { + if (widget_states_.at(i).widget) { + QString path = prefix + "/items/" + QString::number(i+1); + widget_states_.at(i).widget->Restore(path); + } + } settings.endGroup(); return true; }