diff options
author | Tomaz Canabrava <tomaz.canabrava@intel.com> | 2015-08-20 22:24:49 -0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-08-21 07:37:15 -0700 |
commit | 0f096d0e5375d3f70f877fb0c2c11e925a2b43e8 (patch) | |
tree | 024d78543e2e217f6f118bcef5d67949b90a8c0e /qt-ui/mainwindow.h | |
parent | 307df53bb46ed3f874820925faa98682b7a478e5 (diff) | |
download | subsurface-0f096d0e5375d3f70f877fb0c2c11e925a2b43e8.tar.gz |
Save Properties for each State of the mainWindow
Each state can have the same widgets but with different
properties - currently I'm using "enabled" : true and false
for the DiveSiteEdit, it looks like a big amount of code
for such a small thing but it was the cleaner way that
I tougth of doing.
Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/mainwindow.h')
-rw-r--r-- | qt-ui/mainwindow.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/qt-ui/mainwindow.h b/qt-ui/mainwindow.h index 4df1d1238..2d2ea8847 100644 --- a/qt-ui/mainwindow.h +++ b/qt-ui/mainwindow.h @@ -39,6 +39,9 @@ class PlannerSettingsWidget; class QUndoStack; class LocationInformationWidget; +typedef std::pair<QByteArray, QVariant> WidgetProperty; +typedef QVector<WidgetProperty> PropertyList; + enum MainWindowTitleFormat { MWTF_DEFAULT, MWTF_FILENAME @@ -89,6 +92,7 @@ public: void printPlan(); void checkSurvey(QSettings *s); void setApplicationState(const QByteArray& state); + void setStateProperties(const QByteArray& state, const PropertyList& tl, const PropertyList& tr, const PropertyList& bl,const PropertyList& br); bool inPlanner(); QUndoStack *undoStack; NotificationWidget *getNotificationWidget(); @@ -225,7 +229,20 @@ private: QWidget *bottomLeft; QWidget *bottomRight; }; + + struct PropertiesForQuadrant { + PropertiesForQuadrant(){} + PropertiesForQuadrant(const PropertyList& tl, const PropertyList& tr,const PropertyList& bl,const PropertyList& br) : + topLeft(tl), topRight(tr), bottomLeft(bl), bottomRight(br) {} + PropertyList topLeft; + PropertyList topRight; + PropertyList bottomLeft; + PropertyList bottomRight; + }; + QHash<QByteArray, WidgetForQuadrant> applicationState; + QHash<QByteArray, PropertiesForQuadrant> stateProperties; + QByteArray currentApplicationState; WindowTitleUpdate *wtu; }; |