• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • kdecore
 

kdecore

Classes | Public Member Functions | Protected Member Functions
KConfigSkeleton Class Reference

#include <kconfigskeleton.h>

List of all members.

Classes

class  ItemBool
 Class for handling a bool preferences item. More...
class  ItemColor
 Class for handling a color preferences item. More...
class  ItemDateTime
 Class for handling a TQDateTime preferences item. More...
class  ItemDouble
 Class for handling a floating point preference item. More...
class  ItemEnum
 Class for handling enums. More...
class  ItemFont
 Class for handling a font preferences item. More...
class  ItemInt
 Class for handling an integer preferences item. More...
class  ItemInt64
 Class for handling an 64-bit integer preferences item. More...
class  ItemIntList
 Class for handling an integer list preferences item. More...
class  ItemLong
 Class for hanlding a long integer preferences item. More...
class  ItemPassword
 Class for handling a password preferences item. More...
class  ItemPath
 Class for handling a path preferences item. More...
class  ItemPathList
 Class for handling a path list preferences item. More...
class  ItemPoint
 Class for handling a TQPoint preferences item. More...
class  ItemProperty
 Class for handling a TQVariant preferences item. More...
class  ItemRect
 Class for handling a TQRect preferences item. More...
class  ItemSize
 Class for handling a TQSize preferences item. More...
class  ItemString
 Class for handling a string preferences item. More...
class  ItemStringList
 Class for handling a string list preferences item. More...
class  ItemUInt
 Class for handling an unsingend integer preferences item. More...
class  ItemUInt64
 Class for handling unsigned 64-bit integer preferences item. More...
class  ItemULong
 Class for handling an unsigned long integer preferences item. More...

Public Member Functions

 KConfigSkeleton (const TQString &configname=TQString::null)
 KConfigSkeleton (KSharedConfig::Ptr config)
virtual ~KConfigSkeleton ()
void setDefaults ()
void readConfig ()
void writeConfig ()
void setCurrentGroup (const TQString &group)
TQString currentGroup ()
void addItem (KConfigSkeletonItem *, const TQString &name=TQString::null)
ItemString * addItemString (const TQString &name, TQString &reference, const TQString &defaultValue=TQString::fromLatin1(""), const TQString &key=TQString::null)
ItemPassword * addItemPassword (const TQString &name, TQString &reference, const TQString &defaultValue=TQString::fromLatin1(""), const TQString &key=TQString::null)
ItemPath * addItemPath (const TQString &name, TQString &reference, const TQString &defaultValue=TQString::fromLatin1(""), const TQString &key=TQString::null)
ItemProperty * addItemProperty (const TQString &name, TQVariant &reference, const TQVariant &defaultValue=TQVariant(), const TQString &key=TQString::null)
ItemBool * addItemBool (const TQString &name, bool &reference, bool defaultValue=false, const TQString &key=TQString::null)
ItemInt * addItemInt (const TQString &name, int &reference, int defaultValue=0, const TQString &key=TQString::null)
ItemUInt * addItemUInt (const TQString &name, unsigned int &reference, unsigned int defaultValue=0, const TQString &key=TQString::null)
ItemLong * addItemLong (const TQString &name, long &reference, long defaultValue=0, const TQString &key=TQString::null)
ItemULong * addItemULong (const TQString &name, unsigned long &reference, unsigned long defaultValue=0, const TQString &key=TQString::null)
ItemInt64 * addItemInt64 (const TQString &name, TQ_INT64 &reference, TQ_INT64 defaultValue=0, const TQString &key=TQString::null)
ItemUInt64 * addItemUInt64 (const TQString &name, TQ_UINT64 &reference, TQ_UINT64 defaultValue=0, const TQString &key=TQString::null)
ItemDouble * addItemDouble (const TQString &name, double &reference, double defaultValue=0.0, const TQString &key=TQString::null)
ItemColor * addItemColor (const TQString &name, TQColor &reference, const TQColor &defaultValue=TQColor(128, 128, 128), const TQString &key=TQString::null)
ItemFont * addItemFont (const TQString &name, TQFont &reference, const TQFont &defaultValue=KGlobalSettings::generalFont(), const TQString &key=TQString::null)
ItemRect * addItemRect (const TQString &name, TQRect &reference, const TQRect &defaultValue=TQRect(), const TQString &key=TQString::null)
ItemPoint * addItemPoint (const TQString &name, TQPoint &reference, const TQPoint &defaultValue=TQPoint(), const TQString &key=TQString::null)
ItemSize * addItemSize (const TQString &name, TQSize &reference, const TQSize &defaultValue=TQSize(), const TQString &key=TQString::null)
ItemDateTime * addItemDateTime (const TQString &name, TQDateTime &reference, const TQDateTime &defaultValue=TQDateTime(), const TQString &key=TQString::null)
ItemStringList * addItemStringList (const TQString &name, TQStringList &reference, const TQStringList &defaultValue=TQStringList(), const TQString &key=TQString::null)
ItemIntList * addItemIntList (const TQString &name, TQValueList< int > &reference, const TQValueList< int > &defaultValue=TQValueList< int >(), const TQString &key=TQString::null)
KConfig * config () const
KConfigSkeletonItem::List items () const
bool isImmutable (const TQString &name)
KConfigSkeletonItem * findItem (const TQString &name)
bool useDefaults (bool b)

Protected Member Functions

virtual void usrUseDefaults (bool)
virtual void usrSetDefaults ()
virtual void usrReadConfig ()
virtual void usrWriteConfig ()

Detailed Description

Class for handling preferences settings for an application.

Author:
Cornelius Schumacher
See also:
KConfigSkeletonItem

This class provides an interface to preferences settings. Preferences items can be registered by the addItem() function corresponding to the data type of the seetting. KConfigSkeleton then handles reading and writing of config files and setting of default values.

Normally you will subclass KConfigSkeleton, add data members for the preferences settings and register the members in the constructor of the subclass.

Example:

 class MyPrefs : public KConfigSkeleton
 {
   public:
     MyPrefs()
     {
       setCurrentGroup("MyGroup");
       addItemBool("MySetting1",mMyBool,false);
       addItemColor("MySetting2",mMyColor,TQColor(1,2,3));
 
       setCurrentGroup("MyOtherGroup");
       addItemFont("MySetting3",mMyFont,TQFont("helvetica",12));
     }
 
     bool mMyBool;
     TQColor mMyColor;
     TQFont mMyFont;
 }

It might be convenient in many cases to make this subclass of KConfigSkeleton a singleton for global access from all over the application without passing references to the KConfigSkeleton object around.

You can write the data to the configuration file by calling writeConfig() and read the data from the configuration file by calling readConfig().

If you have items, which are not covered by the existing addItem() functions you can add customized code for reading, writing and default setting by implementing the functions usrUseDefaults(), usrReadConfig() and usrWriteConfig().

Internally preferences settings are stored in instances of subclasses of KConfigSkeletonItem. You can also add KConfigSkeletonItem subclasses for your own types and call the generic addItem() to register them.

In many cases you don't have to write the specific KConfigSkeleton subclasses yourself, but you can use The KDE Configuration Compiler to automatically generate the C++ code from an XML description of the configuration options.

Definition at line 365 of file kconfigskeleton.h.


Constructor & Destructor Documentation

KConfigSkeleton::KConfigSkeleton ( const TQString &  configname = TQString::null)

Constructor.

Parameters:
confignamename of config file. If no name is given, the default config file as returned by kapp()->config() is used.

Definition at line 881 of file kconfigskeleton.cpp.

KConfigSkeleton::KConfigSkeleton ( KSharedConfig::Ptr  config)

Constructor.

Parameters:
configconfiguration object to use.

Definition at line 896 of file kconfigskeleton.cpp.

KConfigSkeleton::~KConfigSkeleton ( ) [virtual]

Destructor.

Definition at line 904 of file kconfigskeleton.cpp.


Member Function Documentation

void KConfigSkeleton::addItem ( KConfigSkeletonItem *  item,
const TQString &  name = TQString::null 
)

Register a custom KConfigSkeletonItem with a given name.

If the name parameter is null, take the name from KConfigSkeletonItem::key(). Note that all names must be unique but that multiple entries can have the same key if they reside in different groups.

Definition at line 988 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemBool * KConfigSkeleton::addItemBool ( const TQString &  name,
bool &  reference,
bool  defaultValue = false,
const TQString &  key = TQString::null 
)

Register an item of type bool.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1038 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemColor * KConfigSkeleton::addItemColor ( const TQString &  name,
TQColor &  reference,
const TQColor &  defaultValue = TQColor(128, 128, 128),
const TQString &  key = TQString::null 
)

Register an item of type TQColor.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1118 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemDateTime * KConfigSkeleton::addItemDateTime ( const TQString &  name,
TQDateTime &  reference,
const TQDateTime &  defaultValue = TQDateTime(),
const TQString &  key = TQString::null 
)

Register an item of type TQDateTime.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1168 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemDouble * KConfigSkeleton::addItemDouble ( const TQString &  name,
double &  reference,
double  defaultValue = 0.0,
const TQString &  key = TQString::null 
)

Register an item of type double.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1108 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemFont * KConfigSkeleton::addItemFont ( const TQString &  name,
TQFont &  reference,
const TQFont &  defaultValue = KGlobalSettings::generalFont(),
const TQString &  key = TQString::null 
)

Register an item of type TQFont.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1128 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemInt * KConfigSkeleton::addItemInt ( const TQString &  name,
int &  reference,
int  defaultValue = 0,
const TQString &  key = TQString::null 
)

Register an item of type int.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1048 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemInt64 * KConfigSkeleton::addItemInt64 ( const TQString &  name,
TQ_INT64 &  reference,
TQ_INT64  defaultValue = 0,
const TQString &  key = TQString::null 
)

Register an item of type TQ_INT64.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1068 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemIntList * KConfigSkeleton::addItemIntList ( const TQString &  name,
TQValueList< int > &  reference,
const TQValueList< int > &  defaultValue = TQValueList < int >(),
const TQString &  key = TQString::null 
)

Register an item of type TQValueList<int>.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1188 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemLong * KConfigSkeleton::addItemLong ( const TQString &  name,
long &  reference,
long  defaultValue = 0,
const TQString &  key = TQString::null 
)

Register an item of type long.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1088 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemPassword * KConfigSkeleton::addItemPassword ( const TQString &  name,
TQString &  reference,
const TQString &  defaultValue = TQString::fromLatin1(""),
const TQString &  key = TQString::null 
)

Register a password item of type TQString.

The string value is written encrypted to the config file. Note that the current encryption scheme is very weak.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1008 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemPath * KConfigSkeleton::addItemPath ( const TQString &  name,
TQString &  reference,
const TQString &  defaultValue = TQString::fromLatin1(""),
const TQString &  key = TQString::null 
)

Register a path item of type TQString.

The string value is interpreted as a path. This means, dollar expension is activated for this value, so that e.g. $HOME gets expanded.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1018 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemPoint * KConfigSkeleton::addItemPoint ( const TQString &  name,
TQPoint &  reference,
const TQPoint &  defaultValue = TQPoint(),
const TQString &  key = TQString::null 
)

Register an item of type TQPoint.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1148 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemProperty * KConfigSkeleton::addItemProperty ( const TQString &  name,
TQVariant &  reference,
const TQVariant &  defaultValue = TQVariant(),
const TQString &  key = TQString::null 
)

Register a property item of type TQVariant.

Note that only the following TQVariant types are allowed: String, StringList, Font, Point, Rect, Size, Color, Int, UInt, Bool, Double, DateTime and Date.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1028 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemRect * KConfigSkeleton::addItemRect ( const TQString &  name,
TQRect &  reference,
const TQRect &  defaultValue = TQRect(),
const TQString &  key = TQString::null 
)

Register an item of type TQRect.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1138 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemSize * KConfigSkeleton::addItemSize ( const TQString &  name,
TQSize &  reference,
const TQSize &  defaultValue = TQSize(),
const TQString &  key = TQString::null 
)

Register an item of type TQSize.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1158 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemString * KConfigSkeleton::addItemString ( const TQString &  name,
TQString &  reference,
const TQString &  defaultValue = TQString::fromLatin1(""),
const TQString &  key = TQString::null 
)

Register an item of type TQString.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 997 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemStringList * KConfigSkeleton::addItemStringList ( const TQString &  name,
TQStringList &  reference,
const TQStringList &  defaultValue = TQStringList(),
const TQString &  key = TQString::null 
)

Register an item of type TQStringList.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1178 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemUInt * KConfigSkeleton::addItemUInt ( const TQString &  name,
unsigned int &  reference,
unsigned int  defaultValue = 0,
const TQString &  key = TQString::null 
)

Register an item of type unsigned int.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1058 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemUInt64 * KConfigSkeleton::addItemUInt64 ( const TQString &  name,
TQ_UINT64 &  reference,
TQ_UINT64  defaultValue = 0,
const TQString &  key = TQString::null 
)

Register an item of type TQ_UINT64.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1078 of file kconfigskeleton.cpp.

KConfigSkeleton::ItemULong * KConfigSkeleton::addItemULong ( const TQString &  name,
unsigned long &  reference,
unsigned long  defaultValue = 0,
const TQString &  key = TQString::null 
)

Register an item of type unsigned long.

Parameters:
nameName used to indentify this setting. Names must be unique.
referencePointer to the variable, which is set by readConfig() calls and read by writeConfig() calls.
defaultValueDefault value, which is used when the config file does not yet contain the key of this item.
keyKey used in config file. If key is null, name is used as key.
Returns:
The created item

Definition at line 1098 of file kconfigskeleton.cpp.

KConfig * KConfigSkeleton::config ( ) const

Return the KConfig object used for reading and writing the settings.

Definition at line 918 of file kconfigskeleton.cpp.

TQString KConfigSkeleton::currentGroup ( ) [inline]

Returns the current group used for addItem() calls.

Definition at line 837 of file kconfigskeleton.h.

KConfigSkeletonItem * KConfigSkeleton::findItem ( const TQString &  name)

Lookup item by name.

Definition at line 1204 of file kconfigskeleton.cpp.

bool KConfigSkeleton::isImmutable ( const TQString &  name)

Return whether a certain item is immutable.

Definition at line 1198 of file kconfigskeleton.cpp.

KConfigSkeletonItem::List KConfigSkeleton::items ( ) const [inline]

Return list of items managed by this KConfigSkeleton object.

Definition at line 1164 of file kconfigskeleton.h.

void KConfigSkeleton::readConfig ( )

Read preferences from config file.

All registered items are set to the values read from disk.

Definition at line 949 of file kconfigskeleton.cpp.

void KConfigSkeleton::setCurrentGroup ( const TQString &  group)

Set the config file group for subsequent addItem() calls.

It is valid until setCurrentGroup() is called with a new argument. Call this before you add any items. The default value is "No Group".

Definition at line 913 of file kconfigskeleton.cpp.

void KConfigSkeleton::setDefaults ( )

Set all registered items to their default values.

Definition at line 939 of file kconfigskeleton.cpp.

bool KConfigSkeleton::useDefaults ( bool  b)

Indicate whether this object should reflect the actual values or the default values.

Parameters:
bIf true this object reflects the default values.
Returns:
The state prior to this call

Definition at line 923 of file kconfigskeleton.cpp.

virtual void KConfigSkeleton::usrReadConfig ( ) [inline, protected, virtual]

Implemented by subclasses that read special config values.

Definition at line 1204 of file kconfigskeleton.h.

virtual void KConfigSkeleton::usrUseDefaults ( bool  ) [inline, protected, virtual]

Implemented by subclasses that use special defaults.

It should replace the default values with the actual values and vice versa.

Definition at line 1193 of file kconfigskeleton.h.

virtual void KConfigSkeleton::usrWriteConfig ( ) [inline, protected, virtual]

Implemented by subclasses that write special config values.

Definition at line 1211 of file kconfigskeleton.h.

void KConfigSkeleton::writeConfig ( )

Write preferences to config file.

The values of all registered items are written to disk.

Definition at line 967 of file kconfigskeleton.cpp.


The documentation for this class was generated from the following files:
  • kconfigskeleton.h
  • kconfigskeleton.cpp

kdecore

Skip menu "kdecore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdecore

Skip menu "kdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kdecore by doxygen 1.7.6.1
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |