Open-Typer
Open source typewriting tutor program
Loading...
Searching...
No Matches
Settings Class Reference

The Settings class manages the application settings. More...

#include "framework/global/internal/Settings.h"

Inheritance diagram for Settings:
Collaboration diagram for Settings:

Public Member Functions

void addKey (QString moduleName, QString keyName, QString key, QVariant defaultValue) override
 
Q_INVOKABLE void setValue (QString moduleName, QString keyName, QVariant value) override
 
void setValue (Key key, QVariant value) override
 
Q_INVOKABLE QVariant getValue (QString moduleName, QString keyName) override
 
QVariant getValue (Key key) override
 
Q_INVOKABLE bool containsKey (QString moduleName, QString keyName) override
 
bool containsKey (Key key) override
 
Q_INVOKABLE void freeze (void) override
 
Q_INVOKABLE void saveChanges (void) override
 
Q_INVOKABLE void discardChanges (void) override
 
Q_INVOKABLE bool isFrozen (void) override
 

Static Public Member Functions

static std::shared_ptr< Settingsinstance ()
 
static void init (void)
 

Static Protected Member Functions

static QVariant get (QString key, QVariant defaultValue)
 
static bool contains (QString key)
 
static void set (QString key, QVariant value)
 

Static Private Member Functions

static void copySettings (QSettings *source, QSettings *target)
 

Static Private Attributes

static std::shared_ptr< Settingsm_instance = std::make_shared<Settings>()
 
static QSettings * settingsInstance = nullptr
 
static QSettings * mainSettingsInstance = nullptr
 
static bool frozen = false
 
static QMap< QPair< QString, QString >, Keym_keys
 

Additional Inherited Members

- Signals inherited from ISettings
void stateChanged ()
 
void saved ()
 
void discarded ()
 

Detailed Description

The Settings class manages the application settings.

Member Function Documentation

◆ addKey()

void Settings::addKey ( QString  moduleName,
QString  keyName,
QString  key,
QVariant  defaultValue 
)
overridevirtual

Registers a key.

Implements ISettings.

◆ contains()

bool Settings::contains ( QString  key)
staticprotected

Returns true if the given key exists.

◆ containsKey() [1/2]

bool Settings::containsKey ( Key  key)
overridevirtual

Returns true if the given key is defined (module name and key name are stored in the Key object).

Implements ISettings.

◆ containsKey() [2/2]

bool Settings::containsKey ( QString  moduleName,
QString  keyName 
)
overridevirtual

Returns true if the given key is defined.

Implements ISettings.

◆ copySettings()

void Settings::copySettings ( QSettings *  source,
QSettings *  target 
)
staticprivate

Copies values from source settings to target settings.

◆ discardChanges()

void Settings::discardChanges ( void  )
overridevirtual

Discards changes and switches back to real settings.

See also
freeze()

Implements ISettings.

◆ freeze()

void Settings::freeze ( void  )
overridevirtual

Switches to temporary settings. You can decide to saveChanges() or discardChanges() later.
This is useful for settings dialogs with a discard button.

Implements ISettings.

◆ get()

QVariant Settings::get ( QString  key,
QVariant  defaultValue 
)
staticprotected

Returns the value of the given key.

◆ getValue() [1/2]

QVariant Settings::getValue ( Key  key)
overridevirtual

Returns the value of the given key (module name and key name are stored in the Key object).

Implements ISettings.

◆ getValue() [2/2]

QVariant Settings::getValue ( QString  moduleName,
QString  keyName 
)
overridevirtual

Returns the value of the given key.

Implements ISettings.

◆ init()

void Settings::init ( void  )
static

Initializes settings. Run Settings::init() after the application starts.

◆ instance()

std::shared_ptr< Settings > Settings::instance ( )
static

Returns the static instance of Settings.

◆ isFrozen()

bool Settings::isFrozen ( void  )
overridevirtual

Returns true if settings are frozen.

See also
freeze().

Implements ISettings.

◆ saveChanges()

void Settings::saveChanges ( void  )
overridevirtual

Saves changes to real settings and switches back to them.

See also
freeze()

Implements ISettings.

◆ set()

void Settings::set ( QString  key,
QVariant  value 
)
staticprotected

Sets the key value.

◆ setValue() [1/2]

void Settings::setValue ( Key  key,
QVariant  value 
)
overridevirtual

Sets the key value (module name and key name are stored in the Key object).

Implements ISettings.

◆ setValue() [2/2]

void Settings::setValue ( QString  moduleName,
QString  keyName,
QVariant  value 
)
overridevirtual

Sets the key value.

Implements ISettings.


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