summaryrefslogtreecommitdiffstats
path: root/kdecore/krootprop.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdecore/krootprop.h')
-rw-r--r--kdecore/krootprop.h206
1 files changed, 206 insertions, 0 deletions
diff --git a/kdecore/krootprop.h b/kdecore/krootprop.h
new file mode 100644
index 000000000..1234f143e
--- /dev/null
+++ b/kdecore/krootprop.h
@@ -0,0 +1,206 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 1997 Mark Donohoe (donohoe@kde.org)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef _KROOTPROP_H
+#define _KROOTPROP_H
+
+typedef unsigned long Atom;
+
+#include <qcolor.h>
+#include <qfont.h>
+#include <qmap.h>
+#include <qstringlist.h>
+
+#include <kdelibs_export.h>
+
+class KRootPropPrivate;
+
+/**
+* Access KDE desktop resources stored on the root window.
+*
+* A companion to the KConfig class.
+*
+* The KRootProp class is used for reading and writing configuration entries
+* to properties on the root window.
+*
+* All configuration entries are of the form "key=value".
+*
+* @see KConfig::KConfig
+* @author Mark Donohoe (donohe@kde.org)
+*/
+class KDECORE_EXPORT KRootProp
+{
+private:
+ Atom atom;
+ QMap<QString,QString> propDict;
+ QString property_;
+ bool dirty;
+ KRootPropPrivate *d;
+
+public:
+ /**
+ * Constructs a KRootProp object for the property @p rProp.
+ * @param rProp the property that will be searched, null to
+ * do nothing
+ * @see setProp()
+ **/
+ KRootProp( const QString& rProp = QString::null );
+ /**
+ * Destructs the KRootProp object.
+ *
+ * Writes back any dirty configuration entries.
+ **/
+ ~KRootProp();
+
+ /**
+ * Sets the property in which keys will be searched.
+ * @param rProp the property that will be searched
+ **/
+ void setProp(const QString& rProp=QString());
+ /**
+ * Returns the name of the property under which keys are searched.
+ * @return the property that will be searched
+ **/
+ QString prop() const;
+
+ /**
+ * Destroys the property completely.
+ *
+ * I.e. all entries will be cleared
+ * and the property will be removed from the root window.
+ **/
+ void destroy();
+
+ /**
+ * Reads the value of an entry specified by @p rKey in the current property.
+ *
+ * @param rKey The key to search for.
+ * @param pDefault A default value returned if the key was not found.
+ * @return The value for this key or the default if no value
+ * was found.
+ **/
+ QString readEntry( const QString& rKey,
+ const QString& pDefault = QString::null ) const ;
+
+ /**
+ * Reads a numerical value.
+ *
+ * Reads the value of an entry specified by @p rKey in the current property
+ * and interprets it numerically.
+ *
+ * @param rKey The key to search for.
+ * @param nDefault A default value returned if the key was not found.
+ * @return The value for this key or the default if no value was found.
+ */
+ int readNumEntry( const QString& rKey, int nDefault = 0 ) const;
+
+ /**
+ * Reads a QFont value.
+ *
+ * Reads the value of an entry specified by @p rKey in the current property
+ * and interpret it as a font object.
+ *
+ * @param rKey The key to search for.
+ * @param pDefault A default value returned if the key was not found.
+ * @return The value for this key or a default font if no value was found.
+ */
+ QFont readFontEntry( const QString& rKey,
+ const QFont* pDefault = 0 ) const;
+
+ /**
+ * Reads a QColor.
+ *
+ * Reads the value of an entry specified by @p rKey in the current property
+ * and interprets it as a color.
+ *
+ * @param rKey The key to search for.
+ * @param pDefault A default value returned if the key was not found.
+ * @return The value for this key or a default color if no value
+ * was found.
+ */
+ QColor readColorEntry( const QString& rKey,
+ const QColor* pDefault = 0 ) const;
+
+
+ /**
+ * Writes a (key/value) pair.
+ *
+ * This is stored to the current property when destroying the
+ * config object or when calling sync().
+ *
+ * @param rKey The key to write.
+ * @param rValue The value to write.
+ * @return The old value for this key. If this key did not exist,
+ * a null string is returned.
+ *
+ **/
+ QString writeEntry( const QString& rKey, const QString& rValue );
+
+ /**
+ * Writes the (key/value) pair.
+ * Same as above, but writes a numerical value.
+ * @param rKey The key to write.
+ * @param nValue The value to write.
+ * @return The old value for this key. If this key did not
+ * exist, a null string is returned.
+ **/
+ QString writeEntry( const QString& rKey, int nValue );
+
+ /**
+ * Writes the (key/value) pair.
+ * Same as above, but writes a font.
+ * @param rKey The key to write.
+ * @param rFont The font to write.
+ * @return The old value for this key. If this key did not
+ * exist, a null string is returned.
+ **/
+ QString writeEntry( const QString& rKey, const QFont& rFont );
+
+ /**
+ * Writes the (key/value) pair.
+ * Same as above, but writes a color.
+ * @param rKey The key to write.
+ * @param rColor The color to write.
+ * @return The old value for this key. If this key did not
+ * exist, a null string is returned.
+ **/
+ QString writeEntry( const QString& rKey, const QColor& rColor );
+
+ /**
+ * Removes an entry.
+ * @param rKey The key to remove.
+ * @return The old value for this key. If this key did not
+ * exist, a null string is returned.
+ **/
+ QString removeEntry(const QString& rKey);
+
+ /**
+ * Returns a list of all keys.
+ * @return A QStringList containing all the keys.
+ **/
+ QStringList listEntries() const;
+
+ /**
+ * Flushes the entry cache.
+ * Writes back dirty configuration entries to the current property,
+ * This is called automatically from the destructor.
+ **/
+ void sync();
+};
+
+#endif