]> git.sven.stormbind.net Git - sven/vym.git/blob - src/settings.h
Replace Pierre as the maintainer
[sven/vym.git] / src / settings.h
1 #ifndef SETTINGS_H
2 #define SETTINGS_H
3
4 #include <qsettings.h>
5 #include <qstring.h>
6 #include <qstringlist.h>
7
8 #include "xmlobj.h"
9
10 // Some helper functions and simplified settings class
11 // to read and parse settings e.g.  in undo/redo directories
12
13 class SimpleSettings {
14   public:
15     SimpleSettings();
16     ~SimpleSettings();
17     void clear();
18     bool readSettings(const QString &);
19     void writeSettings(const QString &);
20     QString value(const QString &key, const QString &def = QString());
21     int numValue(const QString &, const int &def = 0);
22     void setValue(const QString &, const QString &);
23
24   private:
25     QStringList keylist;
26     QStringList valuelist;
27 };
28
29 // Overloaded QSettings class, used to save some settings in
30 // a map instead of users home directory
31 class Settings : public QSettings, public XMLObj {
32   public:
33     Settings();
34     Settings(const QString &, const QString &);
35     ~Settings();
36     void clear();
37     void
38     clearLocal(const QString &filepath,
39                const QString &key); //! Clear keys starting with key in filepath
40     QVariant localValue(const QString &, const QString &, QVariant);
41     void setLocalValue(const QString &, const QString &, QVariant);
42     QString getDataXML(const QString &);
43
44   protected:
45     QStringList pathlist;
46     QStringList keylist;
47     QList<QVariant> valuelist;
48 };
49
50 #endif