KanoopCommonQt 2.1.1
Kanoop foundational Qt utility library
Loading...
Searching...
No Matches
AppSettings Class Reference

Persistent application settings storage backed by QSettings. More...

#include <appsettings.h>

+ Inheritance diagram for AppSettings:
+ Collaboration diagram for AppSettings:

Signals

void settingsChanged ()
 Emitted when any setting value changes.
 

Public Member Functions

 AppSettings ()
 Construct an AppSettings object backed by the default QSettings store.
 
void setStringValue (const QString &key, const QString &value)
 Persist an arbitrary string value.
 
QString getStringValue (const QString &key) const
 Retrieve an arbitrary string value.
 
void setVariantValue (const QString &key, const QVariant &value)
 Persist an arbitrary QVariant value.
 
QVariant getVariantValue (const QString &key) const
 Retrieve an arbitrary QVariant value.
 
void setByteArrayValue (const QString &key, const QByteArray &value)
 Persist an arbitrary byte array value.
 
QByteArray getByteArrayValue (const QString &key) const
 Retrieve an arbitrary byte array value.
 
int maxRecentFiles () const
 Return the maximum number of recent files to track.
 
void setMaxRecentFiles (int value)
 Set the maximum number of recent files to track.
 
QString lastDirectory (const QString &extension) const
 Return the last directory used for a given file extension.
 
QString lastDirectory (int fileType) const
 Return the last directory used for a given file-type integer.
 
virtual void saveLastDirectory (const QString &extension, const QString &value)
 Save the last directory used for a given file extension.
 
virtual void saveLastDirectory (int fileType, const QString &value)
 Save the last directory used for a given file-type integer.
 
void sync ()
 Synchronize settings file to disk and reload any changed values.
 

Static Public Member Functions

static AppSettingsglobalInstance ()
 Return the process-wide AppSettings singleton.
 
static void setGlobalInstance (AppSettings *value)
 Set the process-wide AppSettings singleton.
 

Protected Member Functions

virtual void ensureValidDefaults ()
 Override to ensure sane default values on first run.
 

Static Protected Member Functions

static QString makeStandardKey (const QString &key)
 Build a settings key prefixed with the application key.
 
static QString makeKey (const QString &key, const QString &subKey)
 Build a compound settings key from two parts.
 
static QString makeObjectKey (const QObject *object)
 Build a settings key based on a QObject's identity.
 
static QString makeFileTypeKey (const QString &key, const QString &extension)
 Build a settings key based on a file extension.
 
static QString makeFileTypeKey (const QString &key, int fileType)
 Build a settings key based on a file-type integer.
 
static QString makeCompoundObjectKey (const QString &key, const QObject *object)
 Build a compound settings key from a base key and a QObject.
 

Protected Attributes

QSettings _settings
 Underlying QSettings storage.
 

Static Protected Attributes

static const QString KEY_APP
 Settings key for the application group.
 
static const QString KEY_LAST_DIRECTORY
 Settings key for the last-used directory.
 

Detailed Description

Persistent application settings storage backed by QSettings.

AppSettings provides typed, named accessors for arbitrary key/value persistence and last-used-directory tracking. It has no Qt GUI dependencies and is suitable as a base class for non-GUI applications. Subclass to add application-specific settings; for GUI applications, subclass GuiSettings (in KanoopGuiQt) instead.

A process-wide singleton can be registered with setGlobalInstance() and retrieved with globalInstance().

Definition at line 30 of file appsettings.h.

Member Function Documentation

◆ ensureValidDefaults()

virtual void AppSettings::ensureValidDefaults ( )
inlineprotectedvirtual

Override to ensure sane default values on first run.

Definition at line 156 of file appsettings.h.

◆ getByteArrayValue()

QByteArray AppSettings::getByteArrayValue ( const QString &  key) const
inline

Retrieve an arbitrary byte array value.

Parameters
keySettings key
Returns
Saved byte array, or empty array if not found

Definition at line 78 of file appsettings.h.

◆ getStringValue()

QString AppSettings::getStringValue ( const QString &  key) const
inline

Retrieve an arbitrary string value.

Parameters
keySettings key
Returns
Saved string, or empty string if not found

Definition at line 50 of file appsettings.h.

◆ getVariantValue()

QVariant AppSettings::getVariantValue ( const QString &  key) const
inline

Retrieve an arbitrary QVariant value.

Parameters
keySettings key
Returns
Saved variant, or invalid QVariant if not found

Definition at line 64 of file appsettings.h.

◆ globalInstance()

static AppSettings * AppSettings::globalInstance ( )
inlinestatic

Return the process-wide AppSettings singleton.

Returns
Global instance, or nullptr if not set.

Definition at line 129 of file appsettings.h.

◆ lastDirectory() [1/2]

QString AppSettings::lastDirectory ( const QString &  extension) const
inline

Return the last directory used for a given file extension.

Parameters
extensionFile extension (without leading dot)
Returns
Last directory path string

Definition at line 97 of file appsettings.h.

◆ lastDirectory() [2/2]

QString AppSettings::lastDirectory ( int  fileType) const
inline

Return the last directory used for a given file-type integer.

Parameters
fileTypeApplication-defined file type integer
Returns
Last directory path string

Definition at line 104 of file appsettings.h.

◆ makeKey()

static QString AppSettings::makeKey ( const QString &  key,
const QString &  subKey 
)
inlinestaticprotected

Build a compound settings key from two parts.

Definition at line 145 of file appsettings.h.

◆ makeStandardKey()

static QString AppSettings::makeStandardKey ( const QString &  key)
inlinestaticprotected

Build a settings key prefixed with the application key.

Definition at line 143 of file appsettings.h.

◆ maxRecentFiles()

int AppSettings::maxRecentFiles ( ) const
inline

Return the maximum number of recent files to track.

Returns
Maximum recent file count

Definition at line 84 of file appsettings.h.

◆ saveLastDirectory() [1/2]

virtual void AppSettings::saveLastDirectory ( const QString &  extension,
const QString &  value 
)
inlinevirtual

Save the last directory used for a given file extension.

Parameters
extensionFile extension (without leading dot)
valueDirectory path to save

Definition at line 111 of file appsettings.h.

◆ saveLastDirectory() [2/2]

virtual void AppSettings::saveLastDirectory ( int  fileType,
const QString &  value 
)
inlinevirtual

Save the last directory used for a given file-type integer.

Parameters
fileTypeApplication-defined file type integer
valueDirectory path to save

Definition at line 118 of file appsettings.h.

◆ setByteArrayValue()

void AppSettings::setByteArrayValue ( const QString &  key,
const QByteArray &  value 
)
inline

Persist an arbitrary byte array value.

Parameters
keySettings key
valueByte array to save

Definition at line 71 of file appsettings.h.

◆ setGlobalInstance()

static void AppSettings::setGlobalInstance ( AppSettings value)
inlinestatic

Set the process-wide AppSettings singleton.

Parameters
valueInstance to register as global

Definition at line 135 of file appsettings.h.

◆ setMaxRecentFiles()

void AppSettings::setMaxRecentFiles ( int  value)
inline

Set the maximum number of recent files to track.

Parameters
valueMaximum recent file count

Definition at line 90 of file appsettings.h.

◆ setStringValue()

void AppSettings::setStringValue ( const QString &  key,
const QString &  value 
)
inline

Persist an arbitrary string value.

Parameters
keySettings key
valueString to save

Definition at line 43 of file appsettings.h.

◆ setVariantValue()

void AppSettings::setVariantValue ( const QString &  key,
const QVariant &  value 
)
inline

Persist an arbitrary QVariant value.

Parameters
keySettings key
valueVariant to save

Definition at line 57 of file appsettings.h.

Member Data Documentation

◆ _settings

QSettings AppSettings::_settings
protected

Underlying QSettings storage.

Definition at line 159 of file appsettings.h.

◆ KEY_APP

const QString AppSettings::KEY_APP
staticprotected

Settings key for the application group.

Definition at line 162 of file appsettings.h.

◆ KEY_LAST_DIRECTORY

const QString AppSettings::KEY_LAST_DIRECTORY
staticprotected

Settings key for the last-used directory.

Definition at line 164 of file appsettings.h.


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