24using namespace Qt::StringLiterals;
32bool QgsSettingsEntryString::checkValuePrivate(
const QString &value )
const
34 if (
value.length() < mMinLength )
36 QgsDebugError( u
"Can't set value for settings. String length '%1' is shorter than minimum length '%2'."_s
37 .arg(
value.length() )
43 &&
value.length() > mMaxLength )
45 QgsDebugError( u
"Can't set value for settings. String length '%1' is longer than maximum length '%2'."_s
46 .arg(
value.length() )
56 return value.toString();
76 return value.toStringList();
87 return value.toBool();
97bool QgsSettingsEntryInteger::checkValuePrivate(
const int &value )
const
99 if (
value < mMinValue )
101 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is less than minimum value '%2'." )
102 .arg( QString::number(
value ) )
103 .arg( QString::number( mMinValue ) ) );
107 if (
value > mMaxValue )
109 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is greater than maximum value '%2'." )
110 .arg( QString::number(
value ) )
111 .arg( QString::number( mMaxValue ) ) );
120 return value.toLongLong();
138bool QgsSettingsEntryInteger64::checkValuePrivate(
const qlonglong &value )
const
140 if (
value < mMinValue )
142 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is less than minimum value '%2'." )
143 .arg( QString::number(
value ) )
144 .arg( QString::number( mMinValue ) ) );
148 if (
value > mMaxValue )
150 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is greater than maximum value '%2'." )
151 .arg( QString::number(
value ) )
152 .arg( QString::number( mMaxValue ) ) );
161 return value.toLongLong();
181bool QgsSettingsEntryDouble::checkValuePrivate(
const double &value )
const
183 if (
value < mMinValue )
185 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is less than minimum value '%2'." )
186 .arg( QString::number(
value ), QString::number( mMinValue ) ) );
190 if (
value > mMaxValue )
192 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is greater than maximum value '%2'." )
193 .arg( QString::number(
value ), QString::number( mMaxValue ) ) );
202 return value.toDouble();
227 return mDisplayHintDecimals;
232 return value.value<QColor>();
240bool QgsSettingsEntryColor::checkValuePrivate(
const QColor &value )
const
242 if ( !mAllowAlpha &&
value.alpha() != 255 )
254 if ( settings->contains( redKey ) && settings->contains( greenKey ) && settings->contains( blueKey ) && ( alphaKey.isNull() || settings->contains( alphaKey ) ) )
257 if ( alphaKey.isNull() )
258 oldValue = QColor( settings->value( redKey ).toInt(), settings->value( greenKey ).toInt(), settings->value( blueKey ).toInt() );
260 oldValue = QColor( settings->value( redKey ).toInt(), settings->value( greenKey ).toInt(), settings->value( blueKey ).toInt(), settings->value( alphaKey ).toInt() );
262 if ( removeSettingAtKey )
264 settings->remove( redKey );
265 settings->remove( greenKey );
266 settings->remove( blueKey );
267 settings->remove( alphaKey );
270 if (
value() != oldValue )
280 const QColor color =
value();
281 settings->setValue( redKey, color.red() );
282 settings->setValue( greenKey, color.green() );
283 settings->setValue( blueKey, color.blue() );
284 if ( !alphaKey.isNull() )
285 settings->setValue( alphaKey, color.alpha() );
290 return value.value<QVariantMap>();
SettingsType
Types of settings entries.
@ Variant
Generic variant.
@ StringList
List of strings.
@ VariantMap
Map of strings.
@ Double
Double precision number.
QString value(const QString &dynamicKeyPart=QString()) const
bool setVariantValue(const QVariant &value, const QString &dynamicKeyPart=QString()) const
Set settings value.
QString definitionKey() const
Returns settings entry defining key.
bool convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
QColor convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
bool copyValueFromKeys(const QString &redKey, const QString &greenKey, const QString &blueKey, const QString &alphaKey=QString(), bool removeSettingAtKey=false) const
Copies the value from the given keys if they exist.
void copyValueToKeys(const QString &redKey, const QString &greenKey, const QString &blueKey, const QString &alphaKey=QString()) const
Copies the settings to the given keys.
void setDisplayHintDecimals(int displayHintDecimals)
Set the display hint decimals.
int displayHintDecimals() const
Returns how much decimals should be shown in the Gui.
double minValue() const
Returns the minimum value.
double convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
double maxValue() const
Returns the maximum value.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
qlonglong maxValue() const
Returns the maximum value.
qlonglong minValue() const
Returns the minimum value.
qlonglong convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
int minValue() const
Returns the minimum value.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
int maxValue() const
Returns the maximum value.
int convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
QStringList convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
int maxLength() const
Returns the string maximum length.
int minLength() const
Returns the string minimum length.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
QString convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
QVariantMap convertFromVariant(const QVariant &value) const override
Converts the variant value to the value type of the setting.
Qgis::SettingsType settingsType() const override
Returns the settings entry type.
static QgsSettingsProxy get()
Returns a proxy for a QgsSettings object.
#define QgsDebugError(str)