X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=src%2Fsettings.h;fp=src%2Fsettings.h;h=0fa436f885d3451fdb8c8451cd90333d9e7f2654;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=0000000000000000000000000000000000000000;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/src/settings.h b/src/settings.h new file mode 100644 index 0000000..0fa436f --- /dev/null +++ b/src/settings.h @@ -0,0 +1,50 @@ +#ifndef SETTINGS_H +#define SETTINGS_H + +#include +#include +#include + +#include "xmlobj.h" + +// Some helper functions and simplified settings class +// to read and parse settings e.g. in undo/redo directories + +class SimpleSettings { + public: + SimpleSettings(); + ~SimpleSettings(); + void clear(); + bool readSettings(const QString &); + void writeSettings(const QString &); + QString value(const QString &key, const QString &def = QString()); + int numValue(const QString &, const int &def = 0); + void setValue(const QString &, const QString &); + + private: + QStringList keylist; + QStringList valuelist; +}; + +// Overloaded QSettings class, used to save some settings in +// a map instead of users home directory +class Settings : public QSettings, public XMLObj { + public: + Settings(); + Settings(const QString &, const QString &); + ~Settings(); + void clear(); + void + clearLocal(const QString &filepath, + const QString &key); //! Clear keys starting with key in filepath + QVariant localValue(const QString &, const QString &, QVariant); + void setLocalValue(const QString &, const QString &, QVariant); + QString getDataXML(const QString &); + + protected: + QStringList pathlist; + QStringList keylist; + QList valuelist; +}; + +#endif