]> git.sven.stormbind.net Git - sven/vym.git/blob - settings.h
c32f8ef0d9731bac4c1310c3594efde5953a0719
[sven/vym.git] / 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 {
15 public:
16     SimpleSettings ();
17     ~SimpleSettings ();
18     void clear();
19     bool readSettings(const QString &);
20     void writeSettings(const QString &);
21     QString value (const QString &key, const QString &def=QString());
22     int readNumValue (const QString &, const int &def=0);
23     void setValue (const QString &,const QString &);
24 private:    
25     QStringList keylist;
26     QStringList valuelist;
27 };
28
29
30 // Overloaded QSettings class, used to save some settings in 
31 // a map instead of users home directory
32 class Settings:public QSettings,public XMLObj
33 {
34 public:
35     Settings ();
36     Settings (const QString & , const QString &);
37     ~Settings ();
38     void clear();
39     void clearLocal (const QString &filepath, 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