00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __INI_H_
00024 #define __INI_H_
00025
00026 #include "ini/inisection.h"
00027 #include "ini/inivariable.h"
00028 #include "global.h"
00029 #include <QHash>
00030 #include <QSettings>
00031 #include <QString>
00032 #include <QStringList>
00033 #include <QVector>
00034
00067 class MAIN_EXPORT Ini : public QObject
00068 {
00069 public:
00073 Ini(const QString& filename);
00074 ~Ini();
00075
00080 IniSection createSection(const QString& name);
00081
00087 IniVariable createSetting(const QString& sectionname, const QString& name, const QVariant& data);
00088
00092 void deleteSection(const QString& sectionname);
00093
00098 void deleteSetting(const QString& sectionname, const QString& settingname);
00099
00108 bool loadIniFile(const QString &filePath);
00109
00110 void removeKey(const QString& key);
00111
00117 IniSection retrieveSection(const QString& name);
00118
00125 IniVariable retrieveSetting(const QString& sectionname, const QString& variablename);
00126
00132 bool save();
00133
00146 IniSection section(const QString& name);
00147
00154 QVector<IniSection> sectionsArray(const QString& regexPattern);
00155
00162 IniVariable setting(const QString& sectionname, const QString& variablename);
00163
00164 void setValue(const QString& key, const QVariant& value);
00165 QVariant value(const QString& key) const;
00166
00167 private:
00168 QSettings* pIni;
00169 };
00170
00171 #endif