90                          const QString &application = QString(), QObject *parent = 
nullptr );
 
  106    QgsSettings( QSettings::Scope scope, 
const QString &organization,
 
  107                 const QString &application = QString(), QObject *parent = 
nullptr );
 
  123    QgsSettings( QSettings::Format format, QSettings::Scope scope, 
const QString &organization,
 
  124                 const QString &application = QString(), QObject *parent = 
nullptr );
 
  146    QgsSettings( 
const QString &fileName, QSettings::Format format, QObject *parent = 
nullptr );
 
  176    QString group() 
const;
 
  179    QStringList allKeys() 
const;
 
  181    QStringList childKeys() 
const;
 
  185    QStringList globalChildGroups() 
const;
 
  187    static QString globalSettingsPath();
 
  189    static bool setGlobalSettingsPath( 
const QString &path );
 
  191    int beginReadArray( 
const QString &prefix );
 
  198    void beginWriteArray( 
const QString &prefix, 
int size = -1 );
 
  206    void setArrayIndex( 
int i );
 
  228    QVariant value( 
const QString &key, 
const QVariant &defaultValue = QVariant(),
 
  229                    Section section = NoSection ) 
const;
 
  231    SIP_PYOBJECT value( 
const QString &key, 
const QVariant &defaultValue = QVariant(),
 
  232                        SIP_PYOBJECT type = 0,
 
  235    typedef PyObject *( *pyqt_from_qvariant_by_type )( QVariant &value, PyObject *type );
 
  239    Py_BEGIN_ALLOW_THREADS
 
  240    value = sipCpp->value( *a0, *a1, a3 );
 
  243    pyqt_from_qvariant_by_type f = ( pyqt_from_qvariant_by_type ) sipImportSymbol( SIP_PYQT_FROM_QVARIANT_BY_TYPE );
 
  244    sipRes = f( value, a2 );
 
  265                 const Section section = NoSection )
 
  267      const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
  268      Q_ASSERT( metaEnum.isValid() );
 
  269      if ( !metaEnum.isValid() )
 
  271        QgsDebugError( QStringLiteral( 
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
 
  277      if ( metaEnum.isValid() )
 
  280        QByteArray ba = value( key, metaEnum.valueToKey( 
static_cast<const int>( defaultValue ) ), section ).toString().toUtf8();
 
  281        const char *vs = ba.data();
 
  282        v = 
static_cast<T
>( metaEnum.keyToValue( vs, &ok ) );
 
  290      v = 
static_cast<T
>( value( key, 
static_cast<const int>( defaultValue ), section ).toInt( &ok ) );
 
  291      if ( metaEnum.isValid() )
 
  293        if ( !ok || !metaEnum.valueToKey( 
static_cast<int>( v ) ) )
 
  301          setEnumValue( key, v, section );
 
 
  317                       const Section section = NoSection )
 
  319      const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
  320      Q_ASSERT( metaEnum.isValid() );
 
  321      if ( metaEnum.isValid() )
 
  323        setValue( key, metaEnum.valueToKey( 
static_cast<const int>( value ) ), section );
 
  327        QgsDebugError( QStringLiteral( 
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
 
 
  343                 const Section section = NoSection )
 
  345      const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
  346      Q_ASSERT( metaEnum.isValid() );
 
  347      if ( !metaEnum.isValid() )
 
  349        QgsDebugError( QStringLiteral( 
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
 
  355      if ( metaEnum.isValid() )
 
  358        QByteArray ba = value( key, metaEnum.valueToKeys( 
static_cast< const int >( defaultValue ) ) ).toString().toUtf8();
 
  359        const char *vs = ba.data();
 
  360        v = 
static_cast<T
>( metaEnum.keysToValue( vs, &ok ) );
 
  365        const int intValue = value( key, 
static_cast<const int>( defaultValue ), section ).toInt( &ok );
 
  366        if ( metaEnum.isValid() )
 
  372            const QByteArray keys = metaEnum.valueToKeys( intValue );
 
  373            const int intValueCheck = metaEnum.keysToValue( keys );
 
  374            if ( intValue != intValueCheck )
 
  385              setFlagValue( key, v );
 
 
  407                       const Section section = NoSection )
 
  409      const QMetaEnum metaEnum = QMetaEnum::fromType<T>();
 
  410      Q_ASSERT( metaEnum.isValid() );
 
  411      if ( metaEnum.isValid() )
 
  413        setValue( key, metaEnum.valueToKeys( 
static_cast< const int >( value ) ), section );
 
  417        QgsDebugError( QStringLiteral( 
"Invalid metaenum. Enum probably misses Q_ENUM or Q_FLAG declaration." ) );
 
 
  428    QString fileName() 
const;
 
  478    static 
void releaseFlush() 
SIP_SKIP;
 
  497    QString sanitizeKey( const QString &key ) const;
 
  498    std::unique_ptr<QSettings> mUserSettings;
 
  499    std::unique_ptr<QSettings> mGlobalSettings;
 
  500    bool mUsingGlobalArray = false;