QGIS API Documentation 3.29.0-Master (19d7edcfed)
Public Member Functions | Static Public Member Functions | Protected 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 &key, QgsSettingsTreeNode *parentTreeElement, const QVariant &defaultValue=QVariant(), const QString &description=QString(), Qgis::SettingsOptions options=Qgis::SettingsOptions()) SIP_THROW(QgsSettingsException)
 Constructor for QgsSettingsEntryBase. More...
 
virtual ~QgsSettingsEntryBase ()
 Destructor for QgsSettingsEntryBase. 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...
 
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 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...
 
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 QgsSettings::Section section () const
 Returns settings section. More...
 
virtual Qgis::SettingsType settingsType () const
 Returns the settings entry type. More...
 
virtual Q_DECL_DEPRECATED bool setVariantValue (const QVariant &value, const QString &dynamicKeyPart=QString()) const
 Set settings value. More...
 
virtual Q_DECL_DEPRECATED bool setVariantValue (const QVariant &value, const QStringList &dynamicKeyPartList) const
 Set settings value. 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...
 

Protected Member Functions

bool setVariantValuePrivate (const QVariant &value, const QStringList &dynamicKeyPartList=QStringList()) const
 Sets the settings value with a variant value. 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 41 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.

  • key specifies the key of the settings.
  • section specifies the section.
  • defaultValue specifies the default value for the settings entry.
  • description specifies a description for the settings entry.
  • options specifies the options for the settings entry.

Definition at line 86 of file qgssettingsentry.h.

◆ QgsSettingsEntryBase() [2/2]

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

Constructor for QgsSettingsEntryBase.

  • key specifies the key of the settings.
  • parent specifies the parent in the tree of settings.
  • defaultValue specifies the default value for the settings entry.
  • description specifies a description for the settings entry.
  • options specifies the options for the settings entry.
    Exceptions
    QgsSettingsExceptionif the number of given parent named items doesn't match the complete key definition

Definition at line 23 of file qgssettingsentry.cpp.

◆ ~QgsSettingsEntryBase()

QgsSettingsEntryBase::~QgsSettingsEntryBase ( )
virtual

Destructor for QgsSettingsEntryBase.

Definition at line 37 of file qgssettingsentry.cpp.

Member Function Documentation

◆ 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 291 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 226 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 246 of file qgssettingsentry.cpp.

◆ defaultValueAsVariant()

QVariant QgsSettingsEntryBase::defaultValueAsVariant ( ) const

Returns settings default value.

Definition at line 203 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 96 of file qgssettingsentry.cpp.

◆ description()

QString QgsSettingsEntryBase::description ( ) const

Returns the settings entry description.

Definition at line 208 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 159 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.

  • dynamicKeyPart specifies the dynamic part of the settings key.

Definition at line 107 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.

  • dynamicKeyParts specifies the list of dynamic parts of the settings key.

Definition at line 112 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 213 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 218 of file qgssettingsentry.cpp.

◆ hasDynamicKey()

bool QgsSettingsEntryBase::hasDynamicKey ( ) const

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

Definition at line 101 of file qgssettingsentry.cpp.

◆ key() [1/2]

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

Returns settings entry key.

  • dynamicKeyPart specifies the dynamic part of the settings key.

Definition at line 44 of file qgssettingsentry.cpp.

◆ key() [2/2]

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

Returns settings entry key.

  • dynamicKeyParts specifies the list of dynamic parts of the settings key.

Definition at line 49 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"

  • key to check

Definition at line 81 of file qgssettingsentry.cpp.

◆ options()

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

Returns the settings options.

Since
QGIS 3.26

Definition at line 159 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 117 of file qgssettingsentry.cpp.

◆ parent()

QgsSettingsTreeNode * QgsSettingsEntryBase::parent ( ) const
inline

Returns the parent tree element.

Since
QGIS 3.30

Definition at line 315 of file qgssettingsentry.h.

◆ remove() [1/2]

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

Removes the settings from the underlying QSettings.

  • dynamicKeyPart specifies the dynamic part of the settings key.

Definition at line 122 of file qgssettingsentry.cpp.

◆ remove() [2/2]

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

Removes the settings from the underlying QSettings.

  • dynamicKeyParts specifies the list of dynamic parts of the settings key.

Definition at line 127 of file qgssettingsentry.cpp.

◆ section()

Q_DECL_DEPRECATED QgsSettings::Section QgsSettingsEntryBase::section ( ) const
inline

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 200 of file qgssettingsentry.h.

◆ settingsType()

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

Returns the settings entry type.

Reimplemented in QgsSettingsEntryEnumFlag< T >, QgsSettingsEntryEnumFlag< Qgis::GpsConnectionType >, QgsSettingsEntryEnumFlag< Qt::TimeSpec >, QgsSettingsEntryEnumFlag< Qgis::GpsInformationComponent >, QgsSettingsEntryEnumFlag< Qgis::DpiMode >, QgsSettingsEntryEnumFlag< Qgis::TilePixelRatio >, QgsSettingsEntryEnumFlag< Qgis::SnappingMode >, QgsSettingsEntryEnumFlag< Qgis::SnappingType >, QgsSettingsEntryEnumFlag< QgsTolerance::UnitType >, QgsSettingsEntryEnumFlag< Qgis::JoinStyle >, QgsSettingsEntryEnumFlag< Qgis::EndCapStyle >, QgsSettingsEntryVariant, QgsSettingsEntryString, QgsSettingsEntryStringList, QgsSettingsEntryBool, QgsSettingsEntryInteger, QgsSettingsEntryInteger64, QgsSettingsEntryDouble, QgsSettingsEntryColor, QgsSettingsEntryVariantMap, QgsSettingsEntryByReference< T >, QgsSettingsEntryByReference< QColor >, QgsSettingsEntryByReference< QString >, QgsSettingsEntryByReference< QStringList >, QgsSettingsEntryByReference< QVariant >, QgsSettingsEntryByReference< QVariantMap >, QgsSettingsEntryByValue< T >, QgsSettingsEntryByValue< bool >, QgsSettingsEntryByValue< double >, QgsSettingsEntryByValue< int >, QgsSettingsEntryByValue< qlonglong >, QgsSettingsEntryByValue< Qgis::GpsConnectionType >, QgsSettingsEntryByValue< Qt::TimeSpec >, QgsSettingsEntryByValue< Qgis::GpsInformationComponent >, QgsSettingsEntryByValue< Qgis::DpiMode >, QgsSettingsEntryByValue< Qgis::TilePixelRatio >, QgsSettingsEntryByValue< Qgis::SnappingMode >, QgsSettingsEntryByValue< Qgis::SnappingType >, QgsSettingsEntryByValue< QgsTolerance::UnitType >, QgsSettingsEntryByValue< Qgis::JoinStyle >, and QgsSettingsEntryByValue< Qgis::EndCapStyle >.

Definition at line 262 of file qgssettingsentry.h.

◆ setVariantValue() [1/2]

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

Set settings value.

The value to set.

  • dynamicKeyPart specifies the dynamic part of the settings key.
    Deprecated:
    since QGIS 3.26 use setVariantValuePrivate or an implementation setValue instead

Definition at line 132 of file qgssettingsentry.cpp.

◆ setVariantValue() [2/2]

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

Set settings value.

The value to set.

  • dynamicKeyParts specifies the list of dynamic parts of the settings key.
    Deprecated:
    since QGIS 3.26 use setVariantValuePrivate or an implementation setValue instead

Definition at line 137 of file qgssettingsentry.cpp.

◆ setVariantValuePrivate()

bool QgsSettingsEntryBase::setVariantValuePrivate ( const QVariant &  value,
const QStringList &  dynamicKeyPartList = QStringList() 
) const
protected

Sets the settings value with a variant value.

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

Since
QGIS 3.26

Definition at line 142 of file qgssettingsentry.cpp.

◆ 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 177 of file qgssettingsentry.cpp.

◆ valueAsVariant() [2/4]

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

Returns settings value with.

  • dynamicKeyPart specifying the dynamic part of the settings key.

Definition at line 167 of file qgssettingsentry.cpp.

◆ valueAsVariant() [3/4]

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

Returns settings value with.

  • dynamicKeyPart specifying the dynamic part of the settings key.

Definition at line 172 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 184 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 192 of file qgssettingsentry.cpp.

◆ valueAsVariantWithDefaultOverride() [2/2]

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

Returns settings value.

  • dynamicKeyPartList specifies the list of dynamic parts of the settings key.
  • defaultValueOverride if valid is used instead of the normal default value.
    Since
    QGIS 3.26

Definition at line 197 of file qgssettingsentry.cpp.


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