diff --git a/qad/widgets/session_manager.cpp b/qad/widgets/session_manager.cpp index e165421..86a7bbc 100644 --- a/qad/widgets/session_manager.cpp +++ b/qad/widgets/session_manager.cpp @@ -30,6 +30,8 @@ void SessionManager::save() { sr.setValue(spinsliders[i].first, spinsliders[i].second->value(), false); for (int i = 0; i < tabs.size(); ++i) 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 < actions.size(); ++i) sr.setValue(actions[i].first, actions[i].second->isChecked(), false); for (int i = 0; i < stringlists.size(); ++i) @@ -87,6 +89,8 @@ void SessionManager::load(bool onlyMainwindow) { if (v >= 0 && v < t->count()) t->setCurrentIndex(v); } + 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 < 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 7d8a15c..6dac195 100644 --- a/qad/widgets/session_manager.h +++ b/qad/widgets/session_manager.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include "spinslider.h" #include "qpiconfig.h" @@ -31,6 +32,7 @@ public: inline void addEntry(SpinSlider * e) {spinsliders.push_back(QPair(e->objectName(), e));} inline void addEntry(QTabWidget * e) {tabs.push_back(QPair(e->objectName(), e));} inline void addEntry(QAction * e) {actions.push_back(QPair(e->objectName(), e));} + inline void addEntry(QAbstractButton * e) {buttons.push_back(QPair(e->objectName(), e));} inline void addMainWidget(QWidget * e) {widgets.push_back(QPair(e->objectName(), e));} inline void addEntry(const QString & name, QMainWindow * e) {mwindows.push_back(QPair(name, e));} @@ -41,6 +43,7 @@ public: inline void addEntry(const QString & name, QSpinBox * e) {spins.push_back(QPair(name, e));} inline void addEntry(const QString & name, SpinSlider * e) {spinsliders.push_back(QPair(name, e));} inline void addEntry(const QString & name, QTabWidget * e) {tabs.push_back(QPair(name, e));} + inline void addEntry(const QString & name, QAbstractButton * e) {buttons.push_back(QPair(name, e));} inline void addEntry(const QString & name, QAction * e) {actions.push_back(QPair(name, e));} inline void addEntry(const QString & name, QStringList * e) {stringlists.push_back(QPair(name, e));} inline void addEntry(const QString & name, QString * e) {strings.push_back(QPair(name, e));} @@ -63,6 +66,7 @@ private: QVector > spins; QVector > spinsliders; QVector > tabs; + QVector > buttons; QVector > actions; QVector > stringlists; QVector > strings;