summaryrefslogtreecommitdiffabout
path: root/microkde/kdecore/kprefs.cpp
Side-by-side diff
Diffstat (limited to 'microkde/kdecore/kprefs.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--microkde/kdecore/kprefs.cpp50
1 files changed, 49 insertions, 1 deletions
diff --git a/microkde/kdecore/kprefs.cpp b/microkde/kdecore/kprefs.cpp
index f5e5e5a..71050e7 100644
--- a/microkde/kdecore/kprefs.cpp
+++ b/microkde/kdecore/kprefs.cpp
@@ -28,96 +28,111 @@
#include <kdebug.h>
#include "kprefs.h"
class KPrefsItemBool : public KPrefsItem {
public:
KPrefsItemBool(const QString &group,const QString &name,bool *,bool defaultValue=true);
virtual ~KPrefsItemBool() {}
void setDefault();
void readConfig(KConfig *);
void writeConfig(KConfig *);
private:
bool *mReference;
bool mDefault;
};
class KPrefsItemInt : public KPrefsItem {
public:
KPrefsItemInt(const QString &group,const QString &name,int *,int defaultValue=0);
virtual ~KPrefsItemInt() {}
void setDefault();
void readConfig(KConfig *);
void writeConfig(KConfig *);
private:
int *mReference;
int mDefault;
};
class KPrefsItemColor : public KPrefsItem {
public:
KPrefsItemColor(const QString &group,const QString &name,QColor *,
const QColor &defaultValue=QColor(128,128,128));
virtual ~KPrefsItemColor() {}
void setDefault();
void readConfig(KConfig *);
void writeConfig(KConfig *);
private:
QColor *mReference;
QColor mDefault;
};
+class KPrefsItemSize : public KPrefsItem {
+ public:
+ KPrefsItemSize(const QString &group,const QString &name,QSize *,
+ const QSize &defaultValue=QSize());
+ ~KPrefsItemSize() {}
+
+ void setDefault();
+ void readConfig(KConfig *);
+ void writeConfig(KConfig *);
+
+ private:
+ QSize *mReference;
+ QSize mDefault;
+};
+
class KPrefsItemFont : public KPrefsItem {
public:
KPrefsItemFont(const QString &group,const QString &name,QFont *,
const QFont &defaultValue=QFont("helvetica",12));
virtual ~KPrefsItemFont() {}
void setDefault();
void readConfig(KConfig *);
void writeConfig(KConfig *);
private:
QFont *mReference;
QFont mDefault;
};
class KPrefsItemString : public KPrefsItem {
public:
KPrefsItemString(const QString &group,const QString &name,QString *,
const QString &defaultValue="", bool isPassword=false);
virtual ~KPrefsItemString() {}
void setDefault();
void readConfig(KConfig *);
void writeConfig(KConfig *);
private:
QString *mReference;
QString mDefault;
bool mPassword;
};
class KPrefsItemStringList : public KPrefsItem {
public:
KPrefsItemStringList(const QString &group,const QString &name,QStringList *,
const QStringList &defaultValue=QStringList());
virtual ~KPrefsItemStringList() {}
void setDefault();
void readConfig(KConfig *);
void writeConfig(KConfig *);
private:
QStringList *mReference;
QStringList mDefault;
};
@@ -174,96 +189,123 @@ KPrefsItemInt::KPrefsItemInt(const QString &group,const QString &name,
mDefault = defaultValue;
}
void KPrefsItemInt::setDefault()
{
*mReference = mDefault;
}
void KPrefsItemInt::writeConfig(KConfig *config)
{
config->setGroup(mGroup);
config->writeEntry(mName,*mReference);
}
void KPrefsItemInt::readConfig(KConfig *config)
{
config->setGroup(mGroup);
*mReference = config->readNumEntry(mName,mDefault);
}
KPrefsItemColor::KPrefsItemColor(const QString &group,const QString &name,
QColor *reference,const QColor &defaultValue) :
KPrefsItem(group,name)
{
mReference = reference;
mDefault = defaultValue;
}
void KPrefsItemColor::setDefault()
{
*mReference = mDefault;
}
void KPrefsItemColor::writeConfig(KConfig *config)
{
config->setGroup(mGroup);
config->writeEntry(mName,*mReference);
}
void KPrefsItemColor::readConfig(KConfig *config)
{
config->setGroup(mGroup);
*mReference = config->readColorEntry(mName,&mDefault);
}
+KPrefsItemSize::KPrefsItemSize(const QString &group,const QString &name,
+ QSize *reference,const QSize &defaultValue) :
+ KPrefsItem(group,name)
+{
+ mReference = reference;
+ mDefault = defaultValue;
+}
+
+void KPrefsItemSize::setDefault()
+{
+ *mReference = mDefault;
+}
+
+void KPrefsItemSize::writeConfig(KConfig *config)
+{
+ config->setGroup(mGroup);
+ config->writeEntry(mName,*mReference);
+}
+
+void KPrefsItemSize::readConfig(KConfig *config)
+{
+ config->setGroup(mGroup);
+ *mReference = config->readSizeEntry(mName,&mDefault);
+
+}
+
+
KPrefsItemFont::KPrefsItemFont(const QString &group,const QString &name,
QFont *reference,const QFont &defaultValue) :
KPrefsItem(group,name)
{
mReference = reference;
mDefault = defaultValue;
}
void KPrefsItemFont::setDefault()
{
*mReference = mDefault;
}
void KPrefsItemFont::writeConfig(KConfig *config)
{
config->setGroup(mGroup);
config->writeEntry(mName,*mReference);
}
void KPrefsItemFont::readConfig(KConfig *config)
{
config->setGroup(mGroup);
*mReference = config->readFontEntry(mName,&mDefault);
}
QString endecryptStr( const QString &aStr )
{
QString result;
uint i;
for ( i = 0; i < aStr.length(); i++)
result += (aStr.at(i).unicode() < 0x20) ?
aStr.at(i) :
QChar(0x1001F - aStr.at(i).unicode());
return result;
}
KPrefsItemString::KPrefsItemString(const QString &group,const QString &name,
QString *reference,const QString &defaultValue,
bool isPassword) :
KPrefsItem(group,name)
{
mReference = reference;
mDefault = defaultValue;
mPassword = isPassword;
}
@@ -355,109 +397,115 @@ KPrefs::KPrefs(const QString &configname)
//qDebug("KPrefs::KPrefs %s",configname.latin1() );
mConfig = new KConfig(locateLocal("config",configname));
} else {
mConfig = KGlobal::config();
}
mItems.setAutoDelete(true);
// Set default group
if (mCurrentGroup == 0) mCurrentGroup = new QString("No Group");
}
KPrefs::~KPrefs()
{
if (mConfig != KGlobal::config()) {
delete mConfig;
}
}
void KPrefs::setCurrentGroup(const QString &group)
{
if (mCurrentGroup) delete mCurrentGroup;
mCurrentGroup = new QString(group);
}
KConfig *KPrefs::config() const
{
return mConfig;
}
void KPrefs::setDefaults()
{
KPrefsItem *item;
for(item = mItems.first();item;item = mItems.next()) {
item->setDefault();
}
usrSetDefaults();
}
void KPrefs::readConfig()
{
KPrefsItem *item;
for(item = mItems.first();item;item = mItems.next()) {
item->readConfig(mConfig);
}
usrReadConfig();
+ //qDebug("KPrefs::readConfig: %s", mConfig->getFileName().latin1());
}
void KPrefs::writeConfig()
{
KPrefsItem *item;
for(item = mItems.first();item;item = mItems.next()) {
item->writeConfig(mConfig);
}
usrWriteConfig();
-
+ //qDebug("KPrefs::WriteConfig: %s", mConfig->getFileName().latin1());
mConfig->sync();
}
void KPrefs::addItem(KPrefsItem *item)
{
mItems.append(item);
}
void KPrefs::addItemBool(const QString &key,bool *reference,bool defaultValue)
{
addItem(new KPrefsItemBool(*mCurrentGroup,key,reference,defaultValue));
}
void KPrefs::addItemInt(const QString &key,int *reference,int defaultValue)
{
addItem(new KPrefsItemInt(*mCurrentGroup,key,reference,defaultValue));
}
void KPrefs::addItemColor(const QString &key,QColor *reference,const QColor &defaultValue)
{
addItem(new KPrefsItemColor(*mCurrentGroup,key,reference,defaultValue));
}
void KPrefs::addItemFont(const QString &key,QFont *reference,const QFont &defaultValue)
{
addItem(new KPrefsItemFont(*mCurrentGroup,key,reference,defaultValue));
}
+void KPrefs::addItemSize(const QString &key,QSize *reference,const QSize &defaultValue)
+{
+ addItem(new KPrefsItemSize(*mCurrentGroup,key,reference,defaultValue));
+}
+
void KPrefs::addItemString(const QString &key,QString *reference,const QString &defaultValue)
{
addItem(new KPrefsItemString(*mCurrentGroup,key,reference,defaultValue,false));
}
void KPrefs::addItemPassword(const QString &key,QString *reference,const QString &defaultValue)
{
addItem(new KPrefsItemString(*mCurrentGroup,key,reference,defaultValue,true));
}
void KPrefs::addItemStringList(const QString &key,QStringList *reference,
const QStringList &defaultValue)
{
addItem(new KPrefsItemStringList(*mCurrentGroup,key,reference,defaultValue));
}
void KPrefs::addItemIntList(const QString &key,QValueList<int> *reference,
const QValueList<int> &defaultValue)
{
addItem(new KPrefsItemIntList(*mCurrentGroup,key,reference,defaultValue));
}