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.arg(
value.length() ).arg( mMinLength ) );
40 if ( mMaxLength >= 0 &&
value.length() > mMaxLength )
42 QgsDebugError( u
"Can't set value for settings. String length '%1' is longer than maximum length '%2'."_s.arg(
value.length() ).arg( mMinLength ) );
51 return value.toString();
71 return value.toStringList();
82 return value.toBool();
92bool QgsSettingsEntryInteger::checkValuePrivate(
const int &value )
const
94 if (
value < mMinValue )
96 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is less than minimum value '%2'." ).arg( QString::number(
value ) ).arg( QString::number( mMinValue ) ) );
100 if (
value > mMaxValue )
102 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is greater than maximum value '%2'." ).arg( QString::number(
value ) ).arg( QString::number( mMaxValue ) ) );
111 return value.toLongLong();
129bool QgsSettingsEntryInteger64::checkValuePrivate(
const qlonglong &value )
const
131 if (
value < mMinValue )
133 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is less than minimum value '%2'." ).arg( QString::number(
value ) ).arg( QString::number( mMinValue ) ) );
137 if (
value > mMaxValue )
139 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is greater than maximum value '%2'." ).arg( QString::number(
value ) ).arg( QString::number( mMaxValue ) ) );
148 return value.toLongLong();
167bool QgsSettingsEntryDouble::checkValuePrivate(
const double &value )
const
169 if (
value < mMinValue )
171 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is less than minimum value '%2'." ).arg( QString::number(
value ), QString::number( mMinValue ) ) );
175 if (
value > mMaxValue )
177 QgsDebugError( QObject::tr(
"Can't set value for setting. Value '%1' is greater than maximum value '%2'." ).arg( QString::number(
value ), QString::number( mMaxValue ) ) );
186 return value.toDouble();
211 return mDisplayHintDecimals;
216 return value.value<QColor>();
224bool QgsSettingsEntryColor::checkValuePrivate(
const QColor &value )
const
226 if ( !mAllowAlpha &&
value.alpha() != 255 )
238 if ( settings->contains( redKey ) && settings->contains( greenKey ) && settings->contains( blueKey ) && ( alphaKey.isNull() || settings->contains( alphaKey ) ) )
241 if ( alphaKey.isNull() )
242 oldValue = QColor( settings->value( redKey ).toInt(), settings->value( greenKey ).toInt(), settings->value( blueKey ).toInt() );
244 oldValue = QColor( settings->value( redKey ).toInt(), settings->value( greenKey ).toInt(), settings->value( blueKey ).toInt(), settings->value( alphaKey ).toInt() );
246 if ( removeSettingAtKey )
248 settings->remove( redKey );
249 settings->remove( greenKey );
250 settings->remove( blueKey );
251 settings->remove( alphaKey );
254 if (
value() != oldValue )
264 const QColor color =
value();
265 settings->setValue( redKey, color.red() );
266 settings->setValue( greenKey, color.green() );
267 settings->setValue( blueKey, color.blue() );
268 if ( !alphaKey.isNull() )
269 settings->setValue( alphaKey, color.alpha() );
274 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)