QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Member Functions | Static Public Member Functions | List of all members
QgsSettingsEntryBase Class Reference

Represent settings entry and provides methods for reading and writing settings values. More...

#include <qgssettingsentry.h>

Inheritance diagram for QgsSettingsEntryBase:
Inheritance graph
[legend]

Public Member Functions

 QgsSettingsEntryBase (const QString &key, const QString &section, const QVariant &defaultValue=QVariant(), const QString &description=QString(), Qgis::SettingsOptions options=Qgis::SettingsOptions())
 Constructor for QgsSettingsEntryBase. More...
 
 QgsSettingsEntryBase (const QString &name, QgsSettingsTreeNode *parent, const QVariant &defaultValue=QVariant(), const QString &description=QString(), Qgis::SettingsOptions options=Qgis::SettingsOptions())
 Constructor for QgsSettingsEntryBase. More...
 
virtual ~QgsSettingsEntryBase ()
 Destructor for QgsSettingsEntryBase. More...
 
virtual bool checkValueVariant (const QVariant &value) const
 Returns true if the given value is valid towards the setting definition. More...
 
bool copyValueFromKey (const QString &key, bool removeSettingAtKey=false) const
 Copies the value from a given key if it exists. More...
 
bool copyValueFromKey (const QString &key, const QStringList &dynamicKeyPartList, bool removeSettingAtKey=false) const
 Copies the value from a given key if it exists. More...
 
void copyValueToKey (const QString &key, const QStringList &dynamicKeyPartList=QStringList()) const
 Copies the settings to the given key. More...
 
void copyValueToKeyIfChanged (const QString &key, const QStringList &dynamicKeyPartList=QStringList()) const
 Copies the settings to the given key, if it has changed during the current QGIS session (see hasChanged()). More...
 
QVariant defaultValueAsVariant () const
 Returns settings default value. More...
 
QString definitionKey () const
 Returns settings entry defining key. More...
 
QString description () const
 Returns the settings entry description. More...
 
bool exists (const QString &dynamicKeyPart=QString()) const
 Returns true if the settings is contained in the underlying QSettings. More...
 
bool exists (const QStringList &dynamicKeyPartList) const
 Returns true if the settings is contained in the underlying QSettings. More...
 
QVariant formerValueAsVariant (const QString &dynamicKeyPart) const
 Returns the former value of the settings if it has been enabled in the options. More...
 
QVariant formerValueAsVariant (const QStringList &dynamicKeyPartList) const
 Returns the former value of the settings if it has been enabled in the options Returns the current value (or default) if there is no former value. More...
 
bool hasChanged () const
 Returns true if the setting was changed during the current QGIS session. More...
 
bool hasDynamicKey () const
 Returns true if a part of the settings key is built dynamically. More...
 
QString key (const QString &dynamicKeyPart=QString()) const
 Returns settings entry key. More...
 
QString key (const QStringList &dynamicKeyPartList) const
 Returns settings entry key. More...
 
bool keyIsValid (const QString &key) const
 Returns true if the provided key match the settings entry. More...
 
QString name () const
 Returns the name of the settings. More...
 
Qgis::SettingsOptions options () const
 Returns the settings options. More...
 
Qgis::SettingsOrigin origin (const QStringList &dynamicKeyPartList) const
 Returns the origin of the setting if it exists. More...
 
QgsSettingsTreeNodeparent () const
 Returns the parent tree element. More...
 
void remove (const QString &dynamicKeyPart=QString()) const
 Removes the settings from the underlying QSettings. More...
 
void remove (const QStringList &dynamicKeyPartList) const
 Removes the settings from the underlying QSettings. More...
 
Q_DECL_DEPRECATED int section () const
 Returns settings section. More...
 
virtual Qgis::SettingsType settingsType () const
 Returns the settings entry type. More...
 
bool setVariantValue (const QVariant &value, const QString &dynamicKeyPart=QString()) const
 Set settings value. More...
 
bool setVariantValue (const QVariant &value, const QStringList &dynamicKeyPartList) const
 Set settings value. More...
 
virtual QString typeId () const
 Returns the id of the type of settings This can be re-implemented in a custom implementation of a setting. More...
 
Q_DECL_DEPRECATED QVariant valueAsVariant (const QString &dynamicKeyPart, bool useDefaultValueOverride, const QVariant &defaultValueOverride) const
 Returns settings value with an optional default value override. More...
 
QVariant valueAsVariant (const QString &dynamicKeyPart=QString()) const
 Returns settings value with. More...
 
QVariant valueAsVariant (const QStringList &dynamicKeyPartList) const
 Returns settings value with. More...
 
Q_DECL_DEPRECATED QVariant valueAsVariant (const QStringList &dynamicKeyPartList, bool useDefaultValueOverride, const QVariant &defaultValueOverride) const
 Returns settings value with an optional default value override. More...
 
QVariant valueAsVariantWithDefaultOverride (const QVariant &defaultValueOverride, const QString &dynamicKeyPart=QString()) const
 Returns settings value with a defaultValueOverride. More...
 
QVariant valueAsVariantWithDefaultOverride (const QVariant &defaultValueOverride, const QStringList &dynamicKeyPartList) const
 Returns settings value. More...
 

Static Public Member Functions

static QStringList dynamicKeyPartToList (const QString &dynamicKeyPart)
 Transforms a dynamic key part string to list. More...
 

Detailed Description

Represent settings entry and provides methods for reading and writing settings values.

Different subclasses are provided for different settings types with metainformations to validate set values and provide more accurate settings description for the gui.

Since
QGIS 3.20

Definition at line 44 of file qgssettingsentry.h.

Constructor & Destructor Documentation

◆ QgsSettingsEntryBase() [1/2]

QgsSettingsEntryBase::QgsSettingsEntryBase ( const QString &  key,
const QString &  section,
const QVariant &  defaultValue = QVariant(),
const QString &  description = QString(),
Qgis::SettingsOptions  options = Qgis::SettingsOptions() 
)
inline

Constructor for QgsSettingsEntryBase.

Parameters
keyspecifies the key of the settings.
sectionspecifies the section.
defaultValuespecifies the default value for the settings entry.
descriptionspecifies a description for the settings entry.
optionsspecifies the options for the settings entry.

Definition at line 89 of file qgssettingsentry.h.

◆ QgsSettingsEntryBase() [2/2]

QgsSettingsEntryBase::QgsSettingsEntryBase ( const QString &  name,
QgsSettingsTreeNode parent,
const QVariant &  defaultValue = QVariant(),
const QString &  description = QString(),
Qgis::SettingsOptions  options = Qgis::SettingsOptions() 
)

Constructor for QgsSettingsEntryBase.

Parameters
namespecifies the name of the setting.
parentspecifies the parent in the tree of settings.
defaultValuespecifies the default value for the settings entry.
descriptionspecifies a description for the settings entry.
optionsspecifies the options for the settings entry.
Exceptions
QgsSettingsExceptionif the number of given parent named items doesn't match the complete key definition
Since
QGIS 3.30

Definition at line 26 of file qgssettingsentry.cpp.

◆ ~QgsSettingsEntryBase()

QgsSettingsEntryBase::~QgsSettingsEntryBase ( )
virtual

Destructor for QgsSettingsEntryBase.

Definition at line 41 of file qgssettingsentry.cpp.

Member Function Documentation

◆ checkValueVariant()

virtual bool QgsSettingsEntryBase::checkValueVariant ( const QVariant &  value) const
inlinevirtual

◆ copyValueFromKey() [1/2]

bool QgsSettingsEntryBase::copyValueFromKey ( const QString &  key,
bool  removeSettingAtKey = false 
) const
inline

Copies the value from a given key if it exists.

Parameters
keythe key to copy the setting value from.
removeSettingAtKeyif true, the setting at the old key will be removed.
Returns
true if the key exists and the setting value could be copied.
Since
QGIS 3.30

Definition at line 308 of file qgssettingsentry.h.

◆ copyValueFromKey() [2/2]

bool QgsSettingsEntryBase::copyValueFromKey ( const QString &  key,
const QStringList &  dynamicKeyPartList,
bool  removeSettingAtKey = false 
) const

Copies the value from a given key if it exists.

Parameters
keythe key to copy the setting value from.
dynamicKeyPartListis the optional dynamic key part to determine the key. It must be the same for origin and destination keys.
removeSettingAtKeyif true, the setting at the old key will be removed.
Returns
true if the key exists and the setting value could be copied.
Since
QGIS 3.30

Definition at line 236 of file qgssettingsentry.cpp.

◆ copyValueToKey()

void QgsSettingsEntryBase::copyValueToKey ( const QString &  key,
const QStringList &  dynamicKeyPartList = QStringList() 
) const

Copies the settings to the given key.

Parameters
keythe key to copy the setting value to.
dynamicKeyPartListis the optional dynamic key part to determine the key. It must be the same for origin and destination keys.
Since
QGIS 3.30

Definition at line 259 of file qgssettingsentry.cpp.

◆ copyValueToKeyIfChanged()

void QgsSettingsEntryBase::copyValueToKeyIfChanged ( const QString &  key,
const QStringList &  dynamicKeyPartList = QStringList() 
) const

Copies the settings to the given key, if it has changed during the current QGIS session (see hasChanged()).

Parameters
keythe key to copy the setting value to.
dynamicKeyPartListis the optional dynamic key part to determine the key. It must be the same for origin and destination keys.
Since
QGIS 3.36

Definition at line 265 of file qgssettingsentry.cpp.

◆ defaultValueAsVariant()

QVariant QgsSettingsEntryBase::defaultValueAsVariant ( ) const

Returns settings default value.

Definition at line 214 of file qgssettingsentry.cpp.

◆ definitionKey()

QString QgsSettingsEntryBase::definitionKey ( ) const

Returns settings entry defining key.

For dynamic settings it return the key with the placeholder for dynamic part included. For non-dynamic settings returns the same as key().

Definition at line 106 of file qgssettingsentry.cpp.

◆ description()

QString QgsSettingsEntryBase::description ( ) const

Returns the settings entry description.

Definition at line 219 of file qgssettingsentry.cpp.

◆ dynamicKeyPartToList()

QStringList QgsSettingsEntryBase::dynamicKeyPartToList ( const QString &  dynamicKeyPart)
static

Transforms a dynamic key part string to list.

Since
QGIS 3.26

Definition at line 171 of file qgssettingsentry.cpp.

◆ exists() [1/2]

bool QgsSettingsEntryBase::exists ( const QString &  dynamicKeyPart = QString()) const

Returns true if the settings is contained in the underlying QSettings.

Parameters
dynamicKeyPartspecifies the dynamic part of the settings key.

Definition at line 117 of file qgssettingsentry.cpp.

◆ exists() [2/2]

bool QgsSettingsEntryBase::exists ( const QStringList &  dynamicKeyPartList) const

Returns true if the settings is contained in the underlying QSettings.

Parameters
dynamicKeyPartListspecifies the list of dynamic parts of the settings key.

Definition at line 122 of file qgssettingsentry.cpp.

◆ formerValueAsVariant() [1/2]

QVariant QgsSettingsEntryBase::formerValueAsVariant ( const QString &  dynamicKeyPart) const

Returns the former value of the settings if it has been enabled in the options.

Returns the current value (or default) if there is no former value.

Since
QGIS 3.26

Definition at line 224 of file qgssettingsentry.cpp.

◆ formerValueAsVariant() [2/2]

QVariant QgsSettingsEntryBase::formerValueAsVariant ( const QStringList &  dynamicKeyPartList) const

Returns the former value of the settings if it has been enabled in the options Returns the current value (or default) if there is no former value.

Since
QGIS 3.26

Definition at line 229 of file qgssettingsentry.cpp.

◆ hasChanged()

bool QgsSettingsEntryBase::hasChanged ( ) const
inline

Returns true if the setting was changed during the current QGIS session.

Since
QGIS 3.36

Definition at line 356 of file qgssettingsentry.h.

◆ hasDynamicKey()

bool QgsSettingsEntryBase::hasDynamicKey ( ) const

Returns true if a part of the settings key is built dynamically.

Definition at line 111 of file qgssettingsentry.cpp.

◆ key() [1/2]

QString QgsSettingsEntryBase::key ( const QString &  dynamicKeyPart = QString()) const

Returns settings entry key.

Parameters
dynamicKeyPartspecifies the dynamic part of the settings key.

Definition at line 53 of file qgssettingsentry.cpp.

◆ key() [2/2]

QString QgsSettingsEntryBase::key ( const QStringList &  dynamicKeyPartList) const

Returns settings entry key.

Parameters
dynamicKeyPartListspecifies the list of dynamic parts of the settings key.

Definition at line 58 of file qgssettingsentry.cpp.

◆ keyIsValid()

bool QgsSettingsEntryBase::keyIsValid ( const QString &  key) const

Returns true if the provided key match the settings entry.

This is useful for settings with dynamic keys. For example this permits one to check that the settings key "NewsFeed/httpsfeedqgisorg/27/content" is valid for the settings entry defined with the key "NewsFeed/%1/%2/content"

Parameters
keyto check

Definition at line 90 of file qgssettingsentry.cpp.

◆ name()

QString QgsSettingsEntryBase::name ( ) const
inline

Returns the name of the settings.

Since
QGIS 3.30

Definition at line 135 of file qgssettingsentry.h.

◆ options()

Qgis::SettingsOptions QgsSettingsEntryBase::options ( ) const
inline

Returns the settings options.

Since
QGIS 3.26

Definition at line 178 of file qgssettingsentry.h.

◆ origin()

Qgis::SettingsOrigin QgsSettingsEntryBase::origin ( const QStringList &  dynamicKeyPartList) const

Returns the origin of the setting if it exists.

Note
it will return Qgis::SettingsOrigin::Any if the key doesn't exist
Since
QGIS 3.30

Definition at line 127 of file qgssettingsentry.cpp.

◆ parent()

QgsSettingsTreeNode * QgsSettingsEntryBase::parent ( ) const
inline

Returns the parent tree element.

Since
QGIS 3.30

Definition at line 342 of file qgssettingsentry.h.

◆ remove() [1/2]

void QgsSettingsEntryBase::remove ( const QString &  dynamicKeyPart = QString()) const

Removes the settings from the underlying QSettings.

Parameters
dynamicKeyPartspecifies the dynamic part of the settings key.

Definition at line 132 of file qgssettingsentry.cpp.

◆ remove() [2/2]

void QgsSettingsEntryBase::remove ( const QStringList &  dynamicKeyPartList) const

Removes the settings from the underlying QSettings.

Parameters
dynamicKeyPartListspecifies the list of dynamic parts of the settings key.

Definition at line 137 of file qgssettingsentry.cpp.

◆ section()

int QgsSettingsEntryBase::section ( ) const

Returns settings section.

The settings section of the parent group is returned if available.

Deprecated:
since QGIS 3.26 the key is entirely self-defined

Definition at line 142 of file qgssettingsentry.cpp.

◆ settingsType()

virtual Qgis::SettingsType QgsSettingsEntryBase::settingsType ( ) const
inlinevirtual

Returns the settings entry type.

Reimplemented in QgsSettingsEntryEnumFlag< T >, QgsSettingsEntryEnumFlag< ENUM >, QgsSettingsEntryEnumFlag< FLAGS >, QgsSettingsEntryEnumFlag< Qgis::GpsConnectionType >, QgsSettingsEntryEnumFlag< Qt::TimeSpec >, QgsSettingsEntryEnumFlag< Qgis::GpsInformationComponent >, QgsSettingsEntryEnumFlag< Qgis::DpiMode >, QgsSettingsEntryEnumFlag< Qgis::TilePixelRatio >, QgsSettingsEntryEnumFlag< Qgis::SnappingMode >, QgsSettingsEntryEnumFlag< Qgis::SnappingType >, QgsSettingsEntryEnumFlag< Qgis::MapToolUnit >, QgsSettingsEntryEnumFlag< Qgis::JoinStyle >, QgsSettingsEntryEnumFlag< Qgis::EndCapStyle >, QgsSettingsEntryEnumFlag< QgsVectorSimplifyMethod::SimplifyAlgorithm >, QgsSettingsEntryEnumFlag< QgsVectorSimplifyMethod::SimplifyHints >, QgsSettingsEntryVariant, QgsSettingsEntryString, QgsSettingsEntryStringList, QgsSettingsEntryBool, QgsSettingsEntryInteger, QgsSettingsEntryInteger64, QgsSettingsEntryDouble, QgsSettingsEntryColor, QgsSettingsEntryVariantMap, QgsSettingsEntryBaseTemplate< T >, QgsSettingsEntryBaseTemplate< bool >, QgsSettingsEntryBaseTemplate< QColor >, QgsSettingsEntryBaseTemplate< double >, QgsSettingsEntryBaseTemplate< int >, QgsSettingsEntryBaseTemplate< qlonglong >, QgsSettingsEntryBaseTemplate< QString >, QgsSettingsEntryBaseTemplate< QStringList >, QgsSettingsEntryBaseTemplate< QVariant >, QgsSettingsEntryBaseTemplate< QVariantMap >, QgsSettingsEntryBaseTemplate< ENUM >, QgsSettingsEntryBaseTemplate< FLAGS >, QgsSettingsEntryBaseTemplate< Qgis::GpsConnectionType >, QgsSettingsEntryBaseTemplate< Qt::TimeSpec >, QgsSettingsEntryBaseTemplate< Qgis::GpsInformationComponent >, QgsSettingsEntryBaseTemplate< Qgis::DpiMode >, QgsSettingsEntryBaseTemplate< Qgis::TilePixelRatio >, QgsSettingsEntryBaseTemplate< Qgis::SnappingMode >, QgsSettingsEntryBaseTemplate< Qgis::SnappingType >, QgsSettingsEntryBaseTemplate< Qgis::MapToolUnit >, QgsSettingsEntryBaseTemplate< Qgis::JoinStyle >, QgsSettingsEntryBaseTemplate< Qgis::EndCapStyle >, QgsSettingsEntryBaseTemplate< QgsVectorSimplifyMethod::SimplifyAlgorithm >, and QgsSettingsEntryBaseTemplate< QgsVectorSimplifyMethod::SimplifyHints >.

Definition at line 279 of file qgssettingsentry.h.

◆ setVariantValue() [1/2]

bool QgsSettingsEntryBase::setVariantValue ( const QVariant &  value,
const QString &  dynamicKeyPart = QString() 
) const

Set settings value.

Parameters
valuespecifies the value to set.
dynamicKeyPartspecifies the dynamic part of the settings key.

Definition at line 147 of file qgssettingsentry.cpp.

◆ setVariantValue() [2/2]

bool QgsSettingsEntryBase::setVariantValue ( const QVariant &  value,
const QStringList &  dynamicKeyPartList 
) const

Set settings value.

This should be called from any implementation as it takes care of actually calling QSettings

Parameters
valuespecifies the value to set.
dynamicKeyPartListspecifies the list of dynamic parts of the settings key.

Definition at line 152 of file qgssettingsentry.cpp.

◆ typeId()

QString QgsSettingsEntryBase::typeId ( ) const
virtual

◆ valueAsVariant() [1/4]

QVariant QgsSettingsEntryBase::valueAsVariant ( const QString &  dynamicKeyPart,
bool  useDefaultValueOverride,
const QVariant &  defaultValueOverride 
) const

Returns settings value with an optional default value override.

Deprecated:
since QGIS 3.26 use valueAsVariantWithDefaultOverride instead

Definition at line 189 of file qgssettingsentry.cpp.

◆ valueAsVariant() [2/4]

QVariant QgsSettingsEntryBase::valueAsVariant ( const QString &  dynamicKeyPart = QString()) const

Returns settings value with.

Parameters
dynamicKeyPartspecifying the dynamic part of the settings key.

Definition at line 179 of file qgssettingsentry.cpp.

◆ valueAsVariant() [3/4]

QVariant QgsSettingsEntryBase::valueAsVariant ( const QStringList &  dynamicKeyPartList) const

Returns settings value with.

Parameters
dynamicKeyPartListspecifying the dynamic part of the settings key.

Definition at line 184 of file qgssettingsentry.cpp.

◆ valueAsVariant() [4/4]

QVariant QgsSettingsEntryBase::valueAsVariant ( const QStringList &  dynamicKeyPartList,
bool  useDefaultValueOverride,
const QVariant &  defaultValueOverride 
) const

Returns settings value with an optional default value override.

Deprecated:
since QGIS 3.26 use valueAsVariantWithDefaultOverride instead

Definition at line 196 of file qgssettingsentry.cpp.

◆ valueAsVariantWithDefaultOverride() [1/2]

QVariant QgsSettingsEntryBase::valueAsVariantWithDefaultOverride ( const QVariant &  defaultValueOverride,
const QString &  dynamicKeyPart = QString() 
) const

Returns settings value with a defaultValueOverride.

Since
QGIS 3.26

Definition at line 204 of file qgssettingsentry.cpp.

◆ valueAsVariantWithDefaultOverride() [2/2]

QVariant QgsSettingsEntryBase::valueAsVariantWithDefaultOverride ( const QVariant &  defaultValueOverride,
const QStringList &  dynamicKeyPartList 
) const

Returns settings value.

Parameters
dynamicKeyPartListspecifies the list of dynamic parts of the settings key.
defaultValueOverrideif valid is used instead of the normal default value.
Since
QGIS 3.26

Definition at line 209 of file qgssettingsentry.cpp.


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