#ifndef SOWATCH_GCONFKEY_H #define SOWATCH_GCONFKEY_H #include "configkey.h" namespace sowatch { class SOWATCH_EXPORT GConfKey : public ConfigKey { Q_OBJECT public: GConfKey(const QString& key = QString(), QObject *parent = 0); ~GConfKey(); QString key() const; void setKey(const QString &key); QVariant value() const; void set(const QVariant& value); void unset(); bool isSet() const; bool isDir() const; QVariant value(const QString& subkey) const; QVariant value(const QString& subkey, const QVariant& def) const; void set(const QString& subkey, const QVariant& value); void unset(const QString& subkey); bool isSet(const QString& subkey) const; bool isDir(const QString& subkey) const; QStringList dirs() const; QStringList keys() const; void recursiveUnset(); ConfigKey* getSubkey(const QString& subkey, QObject *parent = 0) const; void notifyChanged(const QString& key); protected: void connectNotify(const char *signal); private: QString _key; uint _notify; QString fullpath(const QString& subkey = QString()) const; QByteArray getNativeKey() const; }; } #endif // SOWATCH_CONFIGKEY_H