QGIS API Documentation  3.0.2-Girona (307d082)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsSettings Class Reference

This class is a composition of two QSettings instances: More...

#include <qgssettings.h>

Inheritance diagram for QgsSettings:
Inheritance graph
[legend]

Public Types

enum  Section {
  NoSection, Core, Gui, Server,
  Plugins, Auth, App, Providers,
  Misc
}
 Sections for namespaced settings. More...
 

Public Member Functions

 QgsSettings (const QString &organization, const QString &application=QString(), QObject *parent=nullptr)
 Construct a QgsSettings object for accessing settings of the application called application from the organization called organization, and with parent parent. More...
 
 QgsSettings (QSettings::Scope scope, const QString &organization, const QString &application=QString(), QObject *parent=nullptr)
 Construct a QgsSettings object for accessing settings of the application called application from the organization called organization, and with parent parent. More...
 
 QgsSettings (QSettings::Format format, QSettings::Scope scope, const QString &organization, const QString &application=QString(), QObject *parent=nullptr)
 Construct a QgsSettings object for accessing settings of the application called application from the organization called organization, and with parent parent. More...
 
 QgsSettings (const QString &fileName, QSettings::Format format, QObject *parent=nullptr)
 Construct a QgsSettings object for accessing the settings stored in the file called fileName, with parent parent. More...
 
 QgsSettings (QObject *parent=nullptr)
 Constructs a QgsSettings object for accessing settings of the application and organization set previously with a call to QCoreApplication::setOrganizationName(), QCoreApplication::setOrganizationDomain(), and QCoreApplication::setApplicationName(). More...
 
 ~QgsSettings () override
 
QStringList allKeys () const
 Returns a list of all keys, including subkeys, that can be read using the QSettings object. More...
 
void beginGroup (const QString &prefix, const QgsSettings::Section section=QgsSettings::NoSection)
 Appends prefix to the current group. More...
 
int beginReadArray (const QString &prefix)
 Adds prefix to the current group and starts reading from an array. Returns the size of the array. More...
 
void beginWriteArray (const QString &prefix, int size=-1)
 Adds prefix to the current group and starts writing an array of size size. More...
 
QStringList childGroups () const
 Returns a list of all key top-level groups that contain keys that can be read using the QSettings object. More...
 
QStringList childKeys () const
 Returns a list of all top-level keys that can be read using the QSettings object. More...
 
void clear ()
 Removes all entries in the user settings. More...
 
bool contains (const QString &key, const QgsSettings::Section section=QgsSettings::NoSection) const
 Returns true if there exists a setting called key; returns false otherwise. More...
 
void endArray ()
 Closes the array that was started using beginReadArray() or beginWriteArray(). More...
 
void endGroup ()
 Resets the group to what it was before the corresponding beginGroup() call. More...
 
template<class T >
enumValue (const QString &key, const T &defaultValue, const Section section=NoSection, bool flag=false) const
 Return the setting value for a setting based on an enum. More...
 
QString fileName () const
 Returns the path where settings written using this QSettings object are stored. More...
 
QStringList globalChildGroups () const
 Returns a list of all key top-level groups (same as childGroups) but only for groups defined in global settings. More...
 
QString prefixedKey (const QString &key, const QgsSettings::Section section) const
 Return the sanitized and prefixed key. More...
 
void remove (const QString &key, const QgsSettings::Section section=QgsSettings::NoSection)
 Removes the setting key and any sub-settings of key in a section. More...
 
void setArrayIndex (int i)
 Sets the current array index to i. More...
 
void setValue (const QString &key, const QVariant &value, const QgsSettings::Section section=QgsSettings::NoSection)
 Sets the value of setting key to value. More...
 
void sync ()
 Writes any unsaved changes to permanent storage, and reloads any settings that have been changed in the meantime by another application. More...
 
QVariant value (const QString &key, const QVariant &defaultValue=QVariant(), const Section section=NoSection) const
 Returns the value for setting key. More...
 

Static Public Member Functions

static QString globalSettingsPath ()
 Return the path to the Global Settings QSettings storage file. More...
 
static bool setGlobalSettingsPath (const QString &path)
 Set the Global Settings QSettings storage file. More...
 

Detailed Description

This class is a composition of two QSettings instances:

For a given settings key, the function call to value(key, default) will return the first existing setting in the order specified below:

The path to the Global Settings storage can be set before constructing the QgsSettings objects, with a static call to: static bool setGlobalSettingsPath( QString path );

QgsSettings provides some shortcuts to get/set namespaced settings from/to a specific section:

Since
QGIS 3

Definition at line 57 of file qgssettings.h.

Member Enumeration Documentation

◆ Section

Sections for namespaced settings.

Enumerator
NoSection 
Core 
Gui 
Server 
Plugins 
Auth 
App 
Providers 
Misc 

Definition at line 63 of file qgssettings.h.

Constructor & Destructor Documentation

◆ QgsSettings() [1/5]

QgsSettings::QgsSettings ( const QString &  organization,
const QString &  application = QString(),
QObject *  parent = nullptr 
)
explicit

Construct a QgsSettings object for accessing settings of the application called application from the organization called organization, and with parent parent.

Definition at line 47 of file qgssettings.cpp.

◆ QgsSettings() [2/5]

QgsSettings::QgsSettings ( QSettings::Scope  scope,
const QString &  organization,
const QString &  application = QString(),
QObject *  parent = nullptr 
)

Construct a QgsSettings object for accessing settings of the application called application from the organization called organization, and with parent parent.

If scope is QSettings::UserScope, the QSettings object searches user-specific settings first, before it searches system-wide settings as a fallback. If scope is QSettings::SystemScope, the QSettings object ignores user-specific settings and provides access to system-wide settings.

The storage format is set to QSettings::NativeFormat (i.e. calling setDefaultFormat() before calling this constructor has no effect).

If no application name is given, the QSettings object will only access the organization-wide locations.

Definition at line 53 of file qgssettings.cpp.

◆ QgsSettings() [3/5]

QgsSettings::QgsSettings ( QSettings::Format  format,
QSettings::Scope  scope,
const QString &  organization,
const QString &  application = QString(),
QObject *  parent = nullptr 
)

Construct a QgsSettings object for accessing settings of the application called application from the organization called organization, and with parent parent.

If scope is QSettings::UserScope, the QSettings object searches user-specific settings first, before it searches system-wide settings as a fallback. If scope is QSettings::SystemScope, the QSettings object ignores user-specific settings and provides access to system-wide settings. If format is QSettings::NativeFormat, the native API is used for storing settings. If format is QSettings::IniFormat, the INI format is used.

If no application name is given, the QSettings object will only access the organization-wide locations.

Definition at line 60 of file qgssettings.cpp.

◆ QgsSettings() [4/5]

QgsSettings::QgsSettings ( const QString &  fileName,
QSettings::Format  format,
QObject *  parent = nullptr 
)

Construct a QgsSettings object for accessing the settings stored in the file called fileName, with parent parent.

If the file doesn't already exist, it is created.

If format is QSettings::NativeFormat, the meaning of fileName depends on the platform. On Unix, fileName is the name of an INI file. On macOS and iOS, fileName is the name of a .plist file. On Windows, fileName is a path in the system registry.

If format is QSettings::IniFormat, fileName is the name of an INI file.

Warning: This function is provided for convenience. It works well for accessing INI or .plist files generated by Qt, but might fail on some syntaxes found in such files originated by other programs. In particular, be aware of the following limitations:

  • QgsSettings provides no way of reading INI "path" entries, i.e., entries with unescaped slash characters. (This is because these entries are ambiguous and cannot be resolved automatically.)
  • In INI files, QSettings uses the @ character as a metacharacter in some contexts, to encode Qt-specific data types (e.g., @Rect), and might therefore misinterpret it when it occurs in pure INI files.

Definition at line 67 of file qgssettings.cpp.

◆ QgsSettings() [5/5]

QgsSettings::QgsSettings ( QObject *  parent = nullptr)
explicit

Constructs a QgsSettings object for accessing settings of the application and organization set previously with a call to QCoreApplication::setOrganizationName(), QCoreApplication::setOrganizationDomain(), and QCoreApplication::setApplicationName().

The scope is QSettings::UserScope and the format is defaultFormat() (QSettings::NativeFormat by default). Use setDefaultFormat() before calling this constructor to change the default format used by this constructor.

Definition at line 73 of file qgssettings.cpp.

◆ ~QgsSettings()

QgsSettings::~QgsSettings ( )
override

Definition at line 79 of file qgssettings.cpp.

Member Function Documentation

◆ allKeys()

QStringList QgsSettings::allKeys ( ) const

Returns a list of all keys, including subkeys, that can be read using the QSettings object.

Definition at line 106 of file qgssettings.cpp.

◆ beginGroup()

void QgsSettings::beginGroup ( const QString &  prefix,
const QgsSettings::Section  section = QgsSettings::NoSection 
)

Appends prefix to the current group.

The current group is automatically prepended to all keys specified to QSettings. In addition, query functions such as childGroups(), childKeys(), and allKeys() are based on the group. By default, no group is set.

Definition at line 86 of file qgssettings.cpp.

◆ beginReadArray()

int QgsSettings::beginReadArray ( const QString &  prefix)

Adds prefix to the current group and starts reading from an array. Returns the size of the array.

Definition at line 238 of file qgssettings.cpp.

◆ beginWriteArray()

void QgsSettings::beginWriteArray ( const QString &  prefix,
int  size = -1 
)

Adds prefix to the current group and starts writing an array of size size.

If size is -1 (the default), it is automatically determined based on the indexes of the entries written.

Note
This will completely shadow any existing array with the same name in the global settings

Definition at line 249 of file qgssettings.cpp.

◆ childGroups()

QStringList QgsSettings::childGroups ( ) const

Returns a list of all key top-level groups that contain keys that can be read using the QSettings object.

Definition at line 139 of file qgssettings.cpp.

◆ childKeys()

QStringList QgsSettings::childKeys ( ) const

Returns a list of all top-level keys that can be read using the QSettings object.

Definition at line 123 of file qgssettings.cpp.

◆ clear()

void QgsSettings::clear ( )

Removes all entries in the user settings.

Definition at line 289 of file qgssettings.cpp.

◆ contains()

bool QgsSettings::contains ( const QString &  key,
const QgsSettings::Section  section = QgsSettings::NoSection 
) const

Returns true if there exists a setting called key; returns false otherwise.

If a group is set using beginGroup(), key is taken to be relative to that group.

Definition at line 178 of file qgssettings.cpp.

◆ endArray()

void QgsSettings::endArray ( )

Closes the array that was started using beginReadArray() or beginWriteArray().

Definition at line 255 of file qgssettings.cpp.

◆ endGroup()

void QgsSettings::endGroup ( )

Resets the group to what it was before the corresponding beginGroup() call.

Definition at line 96 of file qgssettings.cpp.

◆ enumValue()

template<class T >
T QgsSettings::enumValue ( const QString &  key,
const T &  defaultValue,
const Section  section = NoSection,
bool  flag = false 
) const
inline

Return the setting value for a setting based on an enum.

This forces the output to be a valid and existing entry of the enum. Hence if the setting value is incorrect, the given default value is returned. If flag is true, the value is checked for a flag definition.

Note
The enum needs to be declared with Q_ENUM, and flags with Q_FLAG (not Q_FLAGS).

Definition at line 231 of file qgssettings.h.

◆ fileName()

QString QgsSettings::fileName ( ) const

Returns the path where settings written using this QSettings object are stored.

Definition at line 185 of file qgssettings.cpp.

◆ globalChildGroups()

QStringList QgsSettings::globalChildGroups ( ) const

Returns a list of all key top-level groups (same as childGroups) but only for groups defined in global settings.

Definition at line 154 of file qgssettings.cpp.

◆ globalSettingsPath()

static QString QgsSettings::globalSettingsPath ( )
inlinestatic

Return the path to the Global Settings QSettings storage file.

Definition at line 165 of file qgssettings.h.

◆ prefixedKey()

QString QgsSettings::prefixedKey ( const QString &  key,
const QgsSettings::Section  section 
) const

Return the sanitized and prefixed key.

Definition at line 201 of file qgssettings.cpp.

◆ remove()

void QgsSettings::remove ( const QString &  key,
const QgsSettings::Section  section = QgsSettings::NoSection 
)

Removes the setting key and any sub-settings of key in a section.

Definition at line 195 of file qgssettings.cpp.

◆ setArrayIndex()

void QgsSettings::setArrayIndex ( int  i)

Sets the current array index to i.

Calls to functions such as setValue(), value(), remove(), and contains() will operate on the array entry at that index.

Definition at line 265 of file qgssettings.cpp.

◆ setGlobalSettingsPath()

bool QgsSettings::setGlobalSettingsPath ( const QString &  path)
static

Set the Global Settings QSettings storage file.

Definition at line 27 of file qgssettings.cpp.

◆ setValue()

void QgsSettings::setValue ( const QString &  key,
const QVariant &  value,
const QgsSettings::Section  section = QgsSettings::NoSection 
)

Sets the value of setting key to value.

If the key already exists, the previous value is overwritten. An optional Section argument can be used to set a value to a specific Section.

Definition at line 277 of file qgssettings.cpp.

◆ sync()

void QgsSettings::sync ( )

Writes any unsaved changes to permanent storage, and reloads any settings that have been changed in the meantime by another application.

This function is called automatically from QSettings's destructor and by the event loop at regular intervals, so you normally don't need to call it yourself.

Definition at line 190 of file qgssettings.cpp.

◆ value()

QVariant QgsSettings::value ( const QString &  key,
const QVariant &  defaultValue = QVariant(),
const Section  section = NoSection 
) const

Returns the value for setting key.

If the setting doesn't exist, it will be searched in the Global Settings and if not found, returns defaultValue. If no default value is specified, a default QVariant is returned. An optional Section argument can be used to get a value from a specific Section.

Definition at line 164 of file qgssettings.cpp.


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