Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
PhosphorConfig::QSettingsGroup Class Reference

Scoped group view backed by QSettings. More...

#include <phosphor-config/include/PhosphorConfig/QSettingsBackend.h>

Inheritance diagram for PhosphorConfig::QSettingsGroup:
[legend]

Public Member Functions

 QSettingsGroup (QSettings *settings, QString groupName, QSettingsBackend *backend)
 
 ~QSettingsGroup () override
 
QString readString (const QString &key, const QString &defaultValue={}) const override
 
int readInt (const QString &key, int defaultValue=0) const override
 
bool readBool (const QString &key, bool defaultValue=false) const override
 
double readDouble (const QString &key, double defaultValue=0.0) const override
 
QColor readColor (const QString &key, const QColor &defaultValue={}) const override
 
void writeString (const QString &key, const QString &value) override
 Write a string.
 
void writeInt (const QString &key, int value) override
 
void writeBool (const QString &key, bool value) override
 
void writeDouble (const QString &key, double value) override
 
void writeColor (const QString &key, const QColor &value) override
 
bool hasKey (const QString &key) const override
 
void deleteKey (const QString &key) override
 
QStringList keyList () const override
 Enumerate scalar leaf keys directly under this group.
 
- Public Member Functions inherited from PhosphorConfig::IGroup
virtual ~IGroup ()=default
 
virtual void writeJson (const QString &key, const QJsonValue &value)
 Write a structured JSON value (array/object/scalar) natively where supported, or as a compact-JSON string for backends without a native representation.
 
virtual QJsonValue readJson (const QString &key, const QJsonValue &defaultValue={}) const
 Read a structured JSON value.
 
 IGroup (const IGroup &)=delete
 
IGroupoperator= (const IGroup &)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from PhosphorConfig::IGroup
 IGroup ()=default
 

Detailed Description

Scoped group view backed by QSettings.

See IGroup for the base contract.

The underlying QSettings is single-threaded and stateful (it tracks "current group"), so only one group view may exist per backend at a time — debug builds assert, release builds warn.

Constructor & Destructor Documentation

◆ QSettingsGroup()

PhosphorConfig::QSettingsGroup::QSettingsGroup ( QSettings *  settings,
QString  groupName,
QSettingsBackend backend 
)

◆ ~QSettingsGroup()

PhosphorConfig::QSettingsGroup::~QSettingsGroup ( )
override

Member Function Documentation

◆ deleteKey()

void PhosphorConfig::QSettingsGroup::deleteKey ( const QString &  key)
overridevirtual

◆ hasKey()

bool PhosphorConfig::QSettingsGroup::hasKey ( const QString &  key) const
overridevirtual

◆ keyList()

QStringList PhosphorConfig::QSettingsGroup::keyList ( ) const
overridevirtual

Enumerate scalar leaf keys directly under this group.

Nested sub-groups (dot-path children in JsonBackend) are NOT included — consumers that want to purge stale keys without touching declared descendants can iterate this list against the schema. Order is implementation-defined.

Implements PhosphorConfig::IGroup.

◆ readBool()

bool PhosphorConfig::QSettingsGroup::readBool ( const QString &  key,
bool  defaultValue = false 
) const
overridevirtual

◆ readColor()

QColor PhosphorConfig::QSettingsGroup::readColor ( const QString &  key,
const QColor &  defaultValue = {} 
) const
overridevirtual

◆ readDouble()

double PhosphorConfig::QSettingsGroup::readDouble ( const QString &  key,
double  defaultValue = 0.0 
) const
overridevirtual

◆ readInt()

int PhosphorConfig::QSettingsGroup::readInt ( const QString &  key,
int  defaultValue = 0 
) const
overridevirtual

◆ readString()

QString PhosphorConfig::QSettingsGroup::readString ( const QString &  key,
const QString &  defaultValue = {} 
) const
overridevirtual

◆ writeBool()

void PhosphorConfig::QSettingsGroup::writeBool ( const QString &  key,
bool  value 
)
overridevirtual

◆ writeColor()

void PhosphorConfig::QSettingsGroup::writeColor ( const QString &  key,
const QColor &  value 
)
overridevirtual

◆ writeDouble()

void PhosphorConfig::QSettingsGroup::writeDouble ( const QString &  key,
double  value 
)
overridevirtual

◆ writeInt()

void PhosphorConfig::QSettingsGroup::writeInt ( const QString &  key,
int  value 
)
overridevirtual

◆ writeString()

void PhosphorConfig::QSettingsGroup::writeString ( const QString &  key,
const QString &  value 
)
overridevirtual

Write a string.

Stored verbatim — no content-dependent reinterpretation.

Callers that need to persist structured data (array/object) should go through writeJson, which preserves the native JSON type where the backend supports it (JsonBackend stores as a native array/object; QSettingsBackend stringifies).

Implements PhosphorConfig::IGroup.


The documentation for this class was generated from the following file: