91 const QString &application = QString(), QObject *parent =
nullptr );
107 QgsSettings( QSettings::Scope scope,
const QString &organization,
108 const QString &application = QString(), QObject *parent =
nullptr );
124 QgsSettings( QSettings::Format format, QSettings::Scope scope,
const QString &organization,
125 const QString &application = QString(), QObject *parent =
nullptr );
147 QgsSettings(
const QString &fileName, QSettings::Format format, QObject *parent =
nullptr );
177 QString group()
const;
180 QStringList allKeys()
const;
182 QStringList childKeys()
const;
186 QStringList globalChildGroups()
const;
188 static QString globalSettingsPath();
190 static bool setGlobalSettingsPath(
const QString &path );
192 int beginReadArray(
const QString &prefix );
199 void beginWriteArray(
const QString &prefix,
int size = -1 );
207 void setArrayIndex(
int i );
229 QVariant value(
const QString &key,
const QVariant &defaultValue = QVariant(),
230 Section section = NoSection )
const;
232 SIP_PYOBJECT value(
const QString &key,
const QVariant &defaultValue = QVariant(),
233 SIP_PYOBJECT type = 0,
236 typedef PyObject *( *pyqt_from_qvariant_by_type )( QVariant &value, PyObject *type );
240 Py_BEGIN_ALLOW_THREADS
241 value = sipCpp->value( *a0, *a1, a3 );
244 pyqt_from_qvariant_by_type f = ( pyqt_from_qvariant_by_type ) sipImportSymbol( SIP_PYQT_FROM_QVARIANT_BY_TYPE );
245 sipRes = f( value, a2 );
266 const Section section = NoSection )
268 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
269 Q_ASSERT( metaEnum.isValid() );
270 if ( !metaEnum.isValid() )
272 QgsDebugError( QStringLiteral(
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
278 if ( metaEnum.isValid() )
281 QByteArray ba = value( key, metaEnum.valueToKey(
static_cast<const int>( defaultValue ) ), section ).toString().toUtf8();
282 const char *vs = ba.data();
283 v =
static_cast<T
>( metaEnum.keyToValue( vs, &ok ) );
291 v =
static_cast<T
>( value( key,
static_cast<const int>( defaultValue ), section ).toInt( &ok ) );
292 if ( metaEnum.isValid() )
294 if ( !ok || !metaEnum.valueToKey(
static_cast<int>( v ) ) )
302 setEnumValue( key, v, section );
318 const Section section = NoSection )
320 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
321 Q_ASSERT( metaEnum.isValid() );
322 if ( metaEnum.isValid() )
324 setValue( key, metaEnum.valueToKey(
static_cast<const int>( value ) ), section );
328 QgsDebugError( QStringLiteral(
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
344 const Section section = NoSection )
346 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
347 Q_ASSERT( metaEnum.isValid() );
348 if ( !metaEnum.isValid() )
350 QgsDebugError( QStringLiteral(
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
356 if ( metaEnum.isValid() )
359 QByteArray ba = value( key, metaEnum.valueToKeys(
static_cast< const int >( defaultValue ) ) ).toString().toUtf8();
360 const char *vs = ba.data();
361 v =
static_cast<T
>( metaEnum.keysToValue( vs, &ok ) );
366 const int intValue = value( key,
static_cast<const int>( defaultValue ), section ).toInt( &ok );
367 if ( metaEnum.isValid() )
373 const QByteArray keys = metaEnum.valueToKeys( intValue );
374 const int intValueCheck = metaEnum.keysToValue( keys );
375 if ( intValue != intValueCheck )
386 setFlagValue( key, v );
408 const Section section = NoSection )
410 const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
411 Q_ASSERT( metaEnum.isValid() );
412 if ( metaEnum.isValid() )
414 setValue( key, metaEnum.valueToKeys(
static_cast< const int >( value ) ), section );
418 QgsDebugError( QStringLiteral(
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
429 QString fileName()
const;
479 static
void releaseFlush()
SIP_SKIP;
498 QString sanitizeKey( const QString &key ) const;
499 QSettings *mUserSettings =
nullptr;
500 QSettings *mGlobalSettings =
nullptr;
501 bool mUsingGlobalArray = false;