summaryrefslogtreecommitdiffstats
path: root/qt-ui/mainwindow.h
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2015-08-20 22:24:49 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-08-21 07:37:15 -0700
commit0f096d0e5375d3f70f877fb0c2c11e925a2b43e8 (patch)
tree024d78543e2e217f6f118bcef5d67949b90a8c0e /qt-ui/mainwindow.h
parent307df53bb46ed3f874820925faa98682b7a478e5 (diff)
downloadsubsurface-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.h17
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;
};