]> git.sven.stormbind.net Git - sven/vym.git/blobdiff - src/settings.h
New upstream version 2.9.22
[sven/vym.git] / src / settings.h
diff --git a/src/settings.h b/src/settings.h
new file mode 100644 (file)
index 0000000..0fa436f
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef SETTINGS_H
+#define SETTINGS_H
+
+#include <qsettings.h>
+#include <qstring.h>
+#include <qstringlist.h>
+
+#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<QVariant> valuelist;
+};
+
+#endif