kconfigbase.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef _KCONFIGBASE_H
00024
#define _KCONFIGBASE_H
00025
00026
#include <qobject.h>
00027
#include <qcolor.h>
00028
#include <qfont.h>
00029
#include <qdatetime.h>
00030
#include <qstrlist.h>
00031
#include <qstringlist.h>
00032
#include <qvariant.h>
00033
#include <qmap.h>
00034
00035
#include "kconfigdata.h"
00036
#include "kdelibs_export.h"
00037
00038
class KConfigBackEnd;
00039
class KConfigBasePrivate;
00040
class KConfigGroup;
00041
00070 class KDECORE_EXPORT KConfigBase :
public QObject
00071 {
00072 Q_OBJECT
00073
00074
friend class KConfigBackEnd;
00075
friend class KConfigINIBackEnd;
00076
friend class KConfigGroup;
00077
00078
public:
00082 KConfigBase();
00083
00087
virtual ~KConfigBase();
00088
00099
void setGroup(
const QString& group );
00100
00105
void setDesktopGroup();
00106
00113
QString group()
const;
00114
00121
bool hasGroup(
const QString &group)
const;
00122
00128
virtual QStringList groupList()
const = 0;
00129
00135
QString locale()
const;
00136
00145
QString readEntry(
const QString& pKey,
00146
const QString& aDefault = QString::null )
const;
00147
00155
QString readEntry(
const char *pKey,
00156
const QString& aDefault = QString::null )
const;
00157
00171
QVariant readPropertyEntry(
const QString& pKey, QVariant::Type )
const;
00172
00187
QVariant readPropertyEntry(
const char *pKey, QVariant::Type )
const;
00188
00203
QVariant readPropertyEntry(
const QString& pKey,
00204
const QVariant &aDefault)
const;
00205
00220
QVariant readPropertyEntry(
const char *pKey,
00221
const QVariant &aDefault)
const;
00222
00233
int readListEntry(
const QString& pKey,
QStrList &list,
char sep =
',' )
const;
00234
00245
int readListEntry(
const char *pKey,
QStrList &list,
char sep =
',' )
const;
00246
00254
QStringList readListEntry(
const QString& pKey,
char sep =
',' )
const;
00255
00263
QStringList readListEntry(
const char *pKey,
char sep =
',' )
const;
00264
00274
QStringList readListEntry(
const char* pKey,
const QStringList& aDefault,
00275
char sep =
',' )
const;
00276
00283
QValueList<int> readIntListEntry(
const QString& pKey )
const;
00284
00291
QValueList<int> readIntListEntry(
const char *pKey )
const;
00292
00304
QString readPathEntry(
const QString& pKey,
const QString & aDefault = QString::null )
const;
00305
00317
QString readPathEntry(
const char *pKey,
const QString & aDefault = QString::null )
const;
00318
00331
QStringList readPathListEntry(
const QString& pKey,
char sep =
',' )
const;
00332
00345
QStringList readPathListEntry(
const char *pKey,
char sep =
',' )
const;
00346
00347
00359
int readNumEntry(
const QString& pKey,
int nDefault = 0 )
const;
00360
00372
int readNumEntry(
const char *pKey,
int nDefault = 0 )
const;
00373
00385
unsigned int readUnsignedNumEntry(
const QString& pKey,
unsigned int nDefault = 0 )
const;
00386
00398
unsigned int readUnsignedNumEntry(
const char *pKey,
unsigned int nDefault = 0 )
const;
00399
00400
00412
long readLongNumEntry(
const QString& pKey,
long nDefault = 0 )
const;
00413
00425
long readLongNumEntry(
const char *pKey,
long nDefault = 0 )
const;
00426
00438
unsigned long readUnsignedLongNumEntry(
const QString& pKey,
unsigned long nDefault = 0 )
const;
00439
00451
unsigned long readUnsignedLongNumEntry(
const char *pKey,
unsigned long nDefault = 0 )
const;
00452
00464 Q_INT64 readNum64Entry(
const QString& pKey, Q_INT64 nDefault = 0 )
const;
00465
00477 Q_INT64 readNum64Entry(
const char *pKey, Q_INT64 nDefault = 0 )
const;
00478
00490 Q_UINT64 readUnsignedNum64Entry(
const QString& pKey, Q_UINT64 nDefault = 0 )
const;
00491
00503 Q_UINT64 readUnsignedNum64Entry(
const char *pKey, Q_UINT64 nDefault = 0 )
const;
00504
00516
double readDoubleNumEntry(
const QString& pKey,
double nDefault = 0.0 )
const;
00517
00529
double readDoubleNumEntry(
const char *pKey,
double nDefault = 0.0 )
const;
00530
00542
QFont readFontEntry(
const QString& pKey,
const QFont* pDefault = 0L )
const;
00543
00555
QFont readFontEntry(
const char *pKey,
const QFont* pDefault = 0L )
const;
00556
00568
bool readBoolEntry(
const QString& pKey,
bool bDefault =
false )
const;
00569
00581
bool readBoolEntry(
const char *pKey,
bool bDefault =
false )
const;
00582
00594
QRect readRectEntry(
const QString& pKey,
const QRect* pDefault = 0L )
const;
00595
00607
QRect readRectEntry(
const char *pKey,
const QRect* pDefault = 0L )
const;
00608
00620
QPoint readPointEntry(
const QString& pKey,
const QPoint* pDefault = 0L )
const;
00621
00633
QPoint readPointEntry(
const char *pKey,
const QPoint* pDefault = 0L )
const;
00634
00646
QSize readSizeEntry(
const QString& pKey,
const QSize* pDefault = 0L )
const;
00647
00659
QSize readSizeEntry(
const char *pKey,
const QSize* pDefault = 0L )
const;
00660
00661
00673
QColor readColorEntry(
const QString& pKey,
const QColor* pDefault = 0L )
const;
00674
00686
QColor readColorEntry(
const char *pKey,
const QColor* pDefault = 0L )
const;
00687
00700
QDateTime readDateTimeEntry(
const QString& pKey,
const QDateTime* pDefault = 0L )
const;
00701
00714
QDateTime readDateTimeEntry(
const char *pKey,
const QDateTime* pDefault = 0L )
const;
00715
00724
QString readEntryUntranslated(
const QString& pKey,
00725
const QString& aDefault = QString::null )
const;
00726
00735
QString readEntryUntranslated(
const char *pKey,
00736
const QString& aDefault = QString::null )
const;
00737
00757
void writeEntry(
const QString& pKey,
const QString& pValue,
00758
bool bPersistent =
true,
bool bGlobal =
false,
00759
bool bNLS =
false );
00760
00778
void writeEntry(
const char *pKey,
const QString& pValue,
00779
bool bPersistent =
true,
bool bGlobal =
false,
00780
bool bNLS =
false );
00781
00801
void writeEntry(
const QString& pKey,
const QVariant& rValue,
00802
bool bPersistent =
true,
bool bGlobal =
false,
00803
bool bNLS =
false );
00823
void writeEntry(
const char *pKey,
const QVariant& rValue,
00824
bool bPersistent =
true,
bool bGlobal =
false,
00825
bool bNLS =
false );
00826
00847
void writeEntry(
const QString& pKey,
const QStrList &rValue,
00848
char sep =
',',
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
00869
void writeEntry(
const char *pKey,
const QStrList &rValue,
00870
char sep =
',',
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
00871
00892
void writeEntry(
const QString& pKey,
const QStringList &rValue,
00893
char sep =
',',
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
00914
void writeEntry(
const char *pKey,
const QStringList &rValue,
00915
char sep =
',',
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
00916
00917
00937
void writeEntry(
const QString& pKey,
const QValueList<int>& rValue,
00938
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
00958
void writeEntry(
const char *pKey,
const QValueList<int>& rValue,
00959
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
00960
00978 void writeEntry(
const QString& pKey,
const char *pValue,
00979
bool bPersistent =
true,
bool bGlobal =
false,
00980
bool bNLS =
false )
00981 { writeEntry(pKey, QString::fromLatin1(pValue), bPersistent, bGlobal, bNLS); }
00999 void writeEntry(
const char *pKey,
const char *pValue,
01000
bool bPersistent =
true,
bool bGlobal =
false,
01001
bool bNLS =
false )
01002 { writeEntry(pKey, QString::fromLatin1(pValue), bPersistent, bGlobal, bNLS); }
01003
01019
void writeEntry(
const QString& pKey,
int nValue,
01020
bool bPersistent =
true,
bool bGlobal =
false,
01021
bool bNLS =
false );
01037
void writeEntry(
const char *pKey,
int nValue,
01038
bool bPersistent =
true,
bool bGlobal =
false,
01039
bool bNLS =
false );
01040
01056
void writeEntry(
const QString& pKey,
unsigned int nValue,
01057
bool bPersistent =
true,
bool bGlobal =
false,
01058
bool bNLS =
false );
01074
void writeEntry(
const char *pKey,
unsigned int nValue,
01075
bool bPersistent =
true,
bool bGlobal =
false,
01076
bool bNLS =
false );
01077
01092
void writeEntry(
const QString& pKey,
long nValue,
01093
bool bPersistent =
true,
bool bGlobal =
false,
01094
bool bNLS =
false );
01109
void writeEntry(
const char *pKey,
long nValue,
01110
bool bPersistent =
true,
bool bGlobal =
false,
01111
bool bNLS =
false );
01112
01127
void writeEntry(
const QString& pKey,
unsigned long nValue,
01128
bool bPersistent =
true,
bool bGlobal =
false,
01129
bool bNLS =
false );
01144
void writeEntry(
const char *pKey,
unsigned long nValue,
01145
bool bPersistent =
true,
bool bGlobal =
false,
01146
bool bNLS =
false );
01147
01162
void writeEntry(
const QString& pKey, Q_INT64 nValue,
01163
bool bPersistent =
true,
bool bGlobal =
false,
01164
bool bNLS =
false );
01179
void writeEntry(
const char *pKey, Q_INT64 nValue,
01180
bool bPersistent =
true,
bool bGlobal =
false,
01181
bool bNLS =
false );
01182
01197
void writeEntry(
const QString& pKey, Q_UINT64 nValue,
01198
bool bPersistent =
true,
bool bGlobal =
false,
01199
bool bNLS =
false );
01214
void writeEntry(
const char *pKey, Q_UINT64 nValue,
01215
bool bPersistent =
true,
bool bGlobal =
false,
01216
bool bNLS =
false );
01217
01235
void writeEntry(
const QString& pKey,
double nValue,
01236
bool bPersistent =
true,
bool bGlobal =
false,
01237
char format =
'g',
int precision = 6,
01238
bool bNLS =
false );
01256
void writeEntry(
const char *pKey,
double nValue,
01257
bool bPersistent =
true,
bool bGlobal =
false,
01258
char format =
'g',
int precision = 6,
01259
bool bNLS =
false );
01260
01275
void writeEntry(
const QString& pKey,
bool bValue,
01276
bool bPersistent =
true,
bool bGlobal =
false,
01277
bool bNLS =
false );
01292
void writeEntry(
const char *pKey,
bool bValue,
01293
bool bPersistent =
true,
bool bGlobal =
false,
01294
bool bNLS =
false );
01295
01310
void writeEntry(
const QString& pKey,
const QFont& rFont,
01311
bool bPersistent =
true,
bool bGlobal =
false,
01312
bool bNLS =
false );
01327
void writeEntry(
const char *pKey,
const QFont& rFont,
01328
bool bPersistent =
true,
bool bGlobal =
false,
01329
bool bNLS =
false );
01330
01348
void writeEntry(
const QString& pKey,
const QColor& rColor,
01349
bool bPersistent =
true,
bool bGlobal =
false,
01350
bool bNLS =
false );
01368
void writeEntry(
const char *pKey,
const QColor& rColor,
01369
bool bPersistent =
true,
bool bGlobal =
false,
01370
bool bNLS =
false );
01371
01389
void writeEntry(
const QString& pKey,
const QDateTime& rDateTime,
01390
bool bPersistent =
true,
bool bGlobal =
false,
01391
bool bNLS =
false );
01409
void writeEntry(
const char *pKey,
const QDateTime& rDateTime,
01410
bool bPersistent =
true,
bool bGlobal =
false,
01411
bool bNLS =
false );
01412
01413
01431
void writeEntry(
const QString& pKey,
const QRect& rValue,
01432
bool bPersistent =
true,
bool bGlobal =
false,
01433
bool bNLS =
false );
01451
void writeEntry(
const char *pKey,
const QRect& rValue,
01452
bool bPersistent =
true,
bool bGlobal =
false,
01453
bool bNLS =
false );
01454
01472
void writeEntry(
const QString& pKey,
const QPoint& rValue,
01473
bool bPersistent =
true,
bool bGlobal =
false,
01474
bool bNLS =
false );
01492
void writeEntry(
const char *pKey,
const QPoint& rValue,
01493
bool bPersistent =
true,
bool bGlobal =
false,
01494
bool bNLS =
false );
01495
01513
void writeEntry(
const QString& pKey,
const QSize& rValue,
01514
bool bPersistent =
true,
bool bGlobal =
false,
01515
bool bNLS =
false );
01533
void writeEntry(
const char *pKey,
const QSize& rValue,
01534
bool bPersistent =
true,
bool bGlobal =
false,
01535
bool bNLS =
false );
01536
01554
void writePathEntry(
const QString& pKey,
const QString & path,
01555
bool bPersistent =
true,
bool bGlobal =
false,
01556
bool bNLS =
false );
01574
void writePathEntry(
const char *pKey,
const QString & path,
01575
bool bPersistent =
true,
bool bGlobal =
false,
01576
bool bNLS =
false );
01577
01601
void writePathEntry(
const QString& pKey,
const QStringList &rValue,
01602
char sep =
',',
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
01626
void writePathEntry(
const char *pKey,
const QStringList &rValue,
01627
char sep =
',',
bool bPersistent =
true,
bool bGlobal =
false,
bool bNLS =
false );
01628
01629
01638
void deleteEntry(
const QString& pKey,
01639
bool bNLS =
false,
bool bGlobal =
false);
01648
void deleteEntry(
const char *pKey,
01649
bool bNLS =
false,
bool bGlobal =
false);
01650
01668
bool deleteGroup(
const QString& group,
bool bDeep =
true,
bool bGlobal =
false );
01669
01670
01678 void setDollarExpansion(
bool _bExpand =
true ) { bExpand = _bExpand; }
01679
01685 bool isDollarExpansion()
const {
return bExpand; }
01686
01701
virtual void rollback(
bool bDeep =
true );
01702
01716
virtual void sync();
01717
01722 bool isDirty()
const {
return bDirty; }
01723
01731 virtual void setReadOnly(
bool _ro) { bReadOnly = _ro; }
01732
01738 bool isReadOnly()
const {
return bReadOnly; }
01739
01749
bool hasKey(
const QString& key )
const;
01750
01761
virtual QMap<QString, QString> entryMap(
const QString &group)
const = 0;
01762
01775
virtual void reparseConfiguration() = 0;
01776
01781
bool isImmutable() const;
01782
01789
bool groupIsImmutable(const
QString &group) const;
01790
01797
bool entryIsImmutable(const
QString &key) const;
01798
01804 enum ConfigState { NoAccess, ReadOnly, ReadWrite };
01805
01819 ConfigState getConfigState() const;
01820
01827
bool checkConfigFilesWritable(
bool warnUser);
01828
01835
void setReadDefaults(
bool b);
01836
01842
bool readDefaults() const;
01843
01855
void revertToDefault(const
QString &key);
01856
01883
bool hasDefault(const
QString &key) const;
01884
01885 protected:
01891
void setLocale();
01892
01898 virtual
void setDirty(
bool _bDirty = true) { bDirty = _bDirty; }
01899
01905
virtual void parseConfigFiles();
01906
01922
virtual KEntryMap internalEntryMap(
const QString& pGroup )
const = 0;
01923
01935
virtual KEntryMap internalEntryMap() const = 0;
01936
01952 virtual
void putData(const
KEntryKey &_key, const
KEntry &_data,
bool _checkGroup = true) = 0;
01953
01968 virtual
KEntry lookupData(const
KEntryKey &_key) const = 0;
01969
01970 virtual
bool internalHasGroup(const
QCString &group) const = 0;
01971
01975 KConfigBackEnd *backEnd;
01976 public:
01980
void setGroup( const
QCString &pGroup );
01981
void setGroup( const
char *pGroup );
01982
bool hasGroup(const
QCString &_pGroup) const;
01983
bool hasGroup(const
char *_pGroup) const;
01984
bool hasKey( const
char *pKey ) const;
01985
01986 protected:
01987
QCString readEntryUtf8( const
char *pKey) const;
01988
01991 QCString mGroup;
01992
01995 QCString aLocaleString;
01996
02000 bool bDirty;
02001
02002
bool bLocaleInitialized;
02003
bool bReadOnly;
02004 mutable
bool bExpand;
02005
02006 protected:
02007 virtual
void virtual_hook(
int id,
void* data );
02008 private:
02009 class KConfigBasePrivate;
02010 KConfigBasePrivate *d;
02011 };
02012
02013 class KConfigGroupSaverPrivate;
02014
02051 class KDECORE_EXPORT
KConfigGroupSaver
02052 {
02053
public:
02063 KConfigGroupSaver( KConfigBase* config,
QString group )
02064
02065 : _config(config), _oldgroup(config->group())
02066 { _config->setGroup( group ); }
02067
02068 KConfigGroupSaver( KConfigBase* config,
const char *group )
02069 : _config(config), _oldgroup(config->group())
02070 { _config->setGroup( group ); }
02071
02072 KConfigGroupSaver( KConfigBase* config,
const QCString &group )
02073 : _config(config), _oldgroup(config->group())
02074 { _config->setGroup( group ); }
02075
02076 ~KConfigGroupSaver() { _config->setGroup( _oldgroup ); }
02077
02078 KConfigBase* config() {
return _config; };
02079
02080
private:
02081 KConfigBase* _config;
02082
QString _oldgroup;
02083
02084 KConfigGroupSaver(
const KConfigGroupSaver&);
02085 KConfigGroupSaver& operator=(
const KConfigGroupSaver&);
02086
02087 KConfigGroupSaverPrivate *d;
02088 };
02089
02090
class KConfigGroupPrivate;
02091
02095 class KDECORE_EXPORT KConfigGroup:
public KConfigBase
02096 {
02097
public:
02102 KConfigGroup(KConfigBase *master,
const QCString &group);
02109 KConfigGroup(KConfigBase *master,
const QString &group);
02117 KConfigGroup(KConfigBase *master,
const char * group);
02118
02125
void deleteGroup(
bool bGlobal =
false);
02126
02133
bool groupIsImmutable()
const;
02134
02135
02136
virtual void setDirty(
bool b);
02137
virtual void putData(
const KEntryKey &_key,
const KEntry &_data,
bool _checkGroup =
true);
02138
virtual KEntry lookupData(
const KEntryKey &_key)
const;
02139
virtual void sync();
02140
02141
private:
02142
02143
void setGroup() { }
02144
void setDesktopGroup() { }
02145
void group() { }
02146
void hasGroup() { }
02147
void setReadOnly(
bool) { }
02148
void isDirty() { }
02149
02150
02151
virtual QStringList groupList()
const {
return QStringList(); }
02152
virtual void rollback(
bool) { }
02153
virtual void reparseConfiguration() { }
02154
virtual QMap<QString, QString> entryMap(
const QString &)
const
02155
{
return QMap<QString,QString>(); }
02156
virtual KEntryMap internalEntryMap(
const QString&)
const
02157
{
return KEntryMap(); }
02158
virtual KEntryMap internalEntryMap()
const
02159
{
return KEntryMap(); }
02160
virtual bool internalHasGroup(
const QCString &)
const
02161
{
return false; }
02162
02163
void getConfigState() { }
02164
02165 KConfigBase *mMaster;
02166
protected:
02167
virtual void virtual_hook(
int id,
void* data );
02168
private:
02169 KConfigGroupPrivate* d;
02170 };
02171
02172
#endif
This file is part of the documentation for kdecore Library Version 3.4.0.