KConfigLoader

#include <KConfigLoader>

Inheritance diagram for KConfigLoader:

Public Member Functions

 KConfigLoader (const QString &configFile, QIODevice *xml, QObject *parent=nullptr)
 
 KConfigLoader (KSharedConfigPtr config, QIODevice *xml, QObject *parent=nullptr)
 
 KConfigLoader (const KConfigGroup &config, QIODevice *xml, QObject *parent=nullptr)
 
KConfigSkeletonItemfindItem (const QString &group, const QString &key) const
 
KConfigSkeletonItemfindItemByName (const QString &name) const
 
QStringList groupList () const
 
bool hasGroup (const QString &group) const
 
QVariant property (const QString &name) const
 
- Public Member Functions inherited from KConfigSkeleton
 KConfigSkeleton (const QString &configname=QString(), QObject *parent=nullptr)
 
 KConfigSkeleton (KSharedConfig::Ptr config, QObject *parent=nullptr)
 
ItemColoraddItemColor (const QString &name, QColor &reference, const QColor &defaultValue=QColor(128, 128, 128), const QString &key=QString())
 
ItemFontaddItemFont (const QString &name, QFont &reference, const QFont &defaultValue=QFont(), const QString &key=QString())
 
- Public Member Functions inherited from KCoreConfigSkeleton
 KCoreConfigSkeleton (const QString &configname=QString(), QObject *parent=nullptr)
 
 KCoreConfigSkeleton (KSharedConfig::Ptr config, QObject *parent=nullptr)
 
virtual ~KCoreConfigSkeleton ()
 
void addItem (KConfigSkeletonItem *, const QString &name=QString())
 
ItemBooladdItemBool (const QString &name, bool &reference, bool defaultValue=false, const QString &key=QString())
 
ItemDateTimeaddItemDateTime (const QString &name, QDateTime &reference, const QDateTime &defaultValue=QDateTime(), const QString &key=QString())
 
ItemDoubleaddItemDouble (const QString &name, double &reference, double defaultValue=0.0, const QString &key=QString())
 
ItemIntaddItemInt (const QString &name, qint32 &reference, qint32 defaultValue=0, const QString &key=QString())
 
ItemLongLongaddItemInt64 (const QString &name, qint64 &reference, qint64 defaultValue=0, const QString &key=QString())
 
ItemIntListaddItemIntList (const QString &name, QList< int > &reference, const QList< int > &defaultValue=QList< int >(), const QString &key=QString())
 
ItemLongLongaddItemLongLong (const QString &name, qint64 &reference, qint64 defaultValue=0, const QString &key=QString())
 
ItemPasswordaddItemPassword (const QString &name, QString &reference, const QString &defaultValue=QLatin1String(""), const QString &key=QString())
 
ItemPathaddItemPath (const QString &name, QString &reference, const QString &defaultValue=QLatin1String(""), const QString &key=QString())
 
ItemPointaddItemPoint (const QString &name, QPoint &reference, const QPoint &defaultValue=QPoint(), const QString &key=QString())
 
ItemPropertyaddItemProperty (const QString &name, QVariant &reference, const QVariant &defaultValue=QVariant(), const QString &key=QString())
 
ItemRectaddItemRect (const QString &name, QRect &reference, const QRect &defaultValue=QRect(), const QString &key=QString())
 
ItemSizeaddItemSize (const QString &name, QSize &reference, const QSize &defaultValue=QSize(), const QString &key=QString())
 
ItemStringaddItemString (const QString &name, QString &reference, const QString &defaultValue=QLatin1String(""), const QString &key=QString())
 
ItemStringListaddItemStringList (const QString &name, QStringList &reference, const QStringList &defaultValue=QStringList(), const QString &key=QString())
 
ItemUIntaddItemUInt (const QString &name, quint32 &reference, quint32 defaultValue=0, const QString &key=QString())
 
ItemULongLongaddItemUInt64 (const QString &name, quint64 &reference, quint64 defaultValue=0, const QString &key=QString())
 
ItemULongLongaddItemULongLong (const QString &name, quint64 &reference, quint64 defaultValue=0, const QString &key=QString())
 
void clearItems ()
 
KConfigconfig ()
 
const KConfigconfig () const
 
QString currentGroup () const
 
KConfigSkeletonItemfindItem (const QString &name) const
 
bool isDefaults () const
 
Q_INVOKABLE bool isImmutable (const QString &name) const
 
bool isSaveNeeded () const
 
KConfigSkeletonItem::List items () const
 
void load ()
 
void read ()
 
void readConfig ()
 
void removeItem (const QString &name)
 
void setCurrentGroup (const QString &group)
 
virtual void setDefaults ()
 
void setSharedConfig (KSharedConfig::Ptr pConfig)
 
KSharedConfig::Ptr sharedConfig () const
 
virtual bool useDefaults (bool b)
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Protected Member Functions

bool usrWriteConfig () override
 
- Protected Member Functions inherited from KCoreConfigSkeleton
virtual void usrRead ()
 
virtual void usrReadConfig ()
 
virtual bool usrSave ()
 
virtual void usrSetDefaults ()
 
virtual bool usrUseDefaults (bool b)
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Public Types inherited from KCoreConfigSkeleton
typedef ItemLongLong ItemInt64
 
typedef ItemULongLong ItemUInt64
 
- Properties inherited from QObject
 objectName
 
- Signals inherited from KCoreConfigSkeleton
void configChanged ()
 
- Public Slots inherited from KCoreConfigSkeleton
bool save ()
 
void writeConfig ()
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Detailed Description

A KConfigSkeleton that populates itself based on KConfigXT XML.

This class allows one to ship an XML file and reconstitute it into a KConfigSkeleton object at runtime. Common usage might look like this:

QFile file(xmlFilePath);
KConfigLoader appletConfig(configFilePath, &file);

Alternatively, any QIODevice may be used in place of QFile in the example above.

KConfigLoader is useful if it is not possible to use compiled code and by that the kconfig compiler cannot be used. Common examples are scripted plugins which want to provide a configuration interface. With the help of KConfigLoader a dynamically loaded ui file can be populated with the stored values and also stored back to the config file.

An example for populating a QDialog with a dynamically populated UI with the help of a KConfigDialogManager:

QDialog *dialog = new QDialog();
QFile xmlFile("path/to/kconfigxt.xml");
KConfigLoader *configLoader = new KConfigLoader(cg, &xmlFile, this);
// load the ui file
QUiLoader *loader = new QUiLoader(this);
QFile uiFile("path/to/userinterface.ui");
uiFile.open(QFile::ReadOnly);
QWidget *customConfigForm = loader->load(&uiFile, dialog);
uiFile.close();
KConfigDialogManager *manager = new KConfigDialogManager(customConfigForm, configLoader);
if (dialog->exec() == QDialog::Accepted) {
manager->updateSettings();
}

Currently the following data types are supported:

  • bools
  • colors
  • datetimes
  • enumerations
  • fonts
  • ints
  • passwords
  • paths
  • strings
  • stringlists
  • uints
  • urls
  • doubles
  • int lists
  • longlongs
  • path lists
  • points
  • rects
  • sizes
  • ulonglongs
  • url lists

Definition at line 88 of file kconfigloader.h.

Constructor & Destructor Documentation

KConfigLoader::KConfigLoader ( const QString configFile,
QIODevice xml,
QObject parent = nullptr 
)

Creates a KConfigSkeleton populated using the definition found in the XML data passed in.

Parameters
configFilepath to the configuration file to use
xmlthe xml data; must be valid KConfigXT data
parentoptional QObject parent

Definition at line 351 of file kconfigloader.cpp.

KConfigLoader::KConfigLoader ( KSharedConfigPtr  config,
QIODevice xml,
QObject parent = nullptr 
)

Creates a KConfigSkeleton populated using the definition found in the XML data passed in.

Parameters
configthe configuration object to use
xmlthe xml data; must be valid KConfigXT data
parentoptional QObject parent

Definition at line 358 of file kconfigloader.cpp.

KConfigLoader::KConfigLoader ( const KConfigGroup config,
QIODevice xml,
QObject parent = nullptr 
)

Creates a KConfigSkeleton populated using the definition found in the XML data passed in.

Parameters
configthe group to use as the root for configuration items
xmlthe xml data; must be valid KConfigXT data
parentoptional QObject parent

Definition at line 368 of file kconfigloader.cpp.

Member Function Documentation

KConfigSkeletonItem * KConfigLoader::findItem ( const QString group,
const QString key 
) const

Finds the item for the given group and key.

Parameters
groupthe group in the config file to look in
keythe configuration key to find
Returns
the associated KConfigSkeletonItem, or nullptr if none

Definition at line 386 of file kconfigloader.cpp.

KConfigSkeletonItem * KConfigLoader::findItemByName ( const QString name) const

Finds an item by its name.

Definition at line 391 of file kconfigloader.cpp.

QStringList KConfigLoader::groupList ( ) const
Returns
the list of groups defined by the XML

Definition at line 412 of file kconfigloader.cpp.

bool KConfigLoader::hasGroup ( const QString group) const

Check to see if a group exists.

Parameters
groupthe name of the group to check for
Returns
true if the group exists, or false if it does not

Definition at line 407 of file kconfigloader.cpp.

QVariant KConfigLoader::property ( const QString name) const

Returns the property (variantized value) of the named item.

Definition at line 396 of file kconfigloader.cpp.

bool KConfigLoader::usrWriteConfig ( )
overrideprotectedvirtual

Hack used to force writing when no default exists in config file.

Reimplemented from KCoreConfigSkeleton.

Definition at line 418 of file kconfigloader.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sun Jul 12 2020 22:48:12 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.