diff --git a/qad/widgets/session_manager.cpp b/qad/widgets/session_manager.cpp index 86a7bbc..7d2f15c 100644 --- a/qad/widgets/session_manager.cpp +++ b/qad/widgets/session_manager.cpp @@ -32,6 +32,8 @@ void SessionManager::save() { sr.setValue(tabs[i].first, tabs[i].second->currentIndex(), false); for (int i = 0; i < buttons.size(); ++i) sr.setValue(buttons[i].first, buttons[i].second->isChecked(), false); + for (int i = 0; i < stacks.size(); ++i) + sr.setValue(stacks[i].first, stacks[i].second->currentIndex(), false); for (int i = 0; i < actions.size(); ++i) sr.setValue(actions[i].first, actions[i].second->isChecked(), false); for (int i = 0; i < stringlists.size(); ++i) @@ -91,6 +93,8 @@ void SessionManager::load(bool onlyMainwindow) { } for (int i = 0; i < buttons.size(); ++i) buttons[i].second->setChecked(sr.getValue(buttons[i].first, buttons[i].second->isChecked())); + for (int i = 0; i < stacks.size(); ++i) + stacks[i].second->setCurrentIndex(qMin((int)sr.getValue(stacks[i].first, stacks[i].second->currentIndex()), stacks[i].second->count())); for (int i = 0; i < actions.size(); ++i) actions[i].second->setChecked(sr.getValue(actions[i].first, actions[i].second->isChecked())); for (int i = 0; i < stringlists.size(); ++i) diff --git a/qad/widgets/session_manager.h b/qad/widgets/session_manager.h index 8de48bc..cd0ef0f 100644 --- a/qad/widgets/session_manager.h +++ b/qad/widgets/session_manager.h @@ -11,6 +11,7 @@ #include #include #include +#include #include "spinslider.h" #include "qpiconfig.h" @@ -33,6 +34,7 @@ public: void addEntry(QTabWidget * e) {tabs.push_back(QPair(e->objectName(), e));} void addEntry(QAction * e) {actions.push_back(QPair(e->objectName(), e));} void addEntry(QAbstractButton * e) {buttons.push_back(QPair(e->objectName(), e));} + void addEntry(QStackedWidget * e) {stacks.push_back(QPair(e->objectName(), e));} void addMainWidget(QWidget * e) {widgets.push_back(QPair(e->objectName(), e));} void addEntry(const QString & name, QMainWindow * e) {mwindows.push_back(QPair(name, e));} @@ -44,6 +46,7 @@ public: void addEntry(const QString & name, SpinSlider * e) {spinsliders.push_back(QPair(name, e));} void addEntry(const QString & name, QTabWidget * e) {tabs.push_back(QPair(name, e));} void addEntry(const QString & name, QAbstractButton * e) {buttons.push_back(QPair(name, e));} + void addEntry(const QString & name, QStackedWidget * e) {stacks.push_back(QPair(name, e));} void addEntry(const QString & name, QAction * e) {actions.push_back(QPair(name, e));} void addEntry(const QString & name, QStringList * e) {stringlists.push_back(QPair(name, e));} void addEntry(const QString & name, QString * e) {strings.push_back(QPair(name, e));} @@ -67,6 +70,7 @@ private: QVector > spinsliders; QVector > tabs; QVector > buttons; + QVector > stacks; QVector > actions; QVector > stringlists; QVector > strings;