diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-03-21 16:42:51 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-03-22 11:17:09 +0000 |
commit | f7c0efb42bd7f8b331525b42ec16536c1b4862f9 (patch) | |
tree | 8042f90d11b436e72ccc744981204c3c56ff1f03 /src/quickcontrols2/qquickstyle.cpp | |
parent | 7b4a33a571f1b02736ce7b82c69c9121e21876d3 (diff) |
Move settings from QQuickStyleAttached to QQuickStylePrivate
The settings were added before QQuickStyle(Private) existed. Now
QQuickStyle(Private) is a lot more logical place for the settings
that are not specific to the attached style attributes only, but
can be also determine which style is used etc.
Change-Id: I7bc432c330d58ab501b51b0ee8eaf24697155324
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quickcontrols2/qquickstyle.cpp')
-rw-r--r-- | src/quickcontrols2/qquickstyle.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/quickcontrols2/qquickstyle.cpp b/src/quickcontrols2/qquickstyle.cpp index 184cbfc7..d4e72efb 100644 --- a/src/quickcontrols2/qquickstyle.cpp +++ b/src/quickcontrols2/qquickstyle.cpp @@ -36,11 +36,12 @@ #include "qquickstyle.h" #include "qquickstyle_p.h" -#include "qquickstyleattached_p.h" #include <QtCore/qdir.h> +#include <QtCore/qfile.h> #include <QtCore/qdebug.h> #include <QtCore/qsettings.h> +#include <QtCore/qfileselector.h> #include <QtCore/qlibraryinfo.h> #include <QtGui/private/qguiapplication_p.h> #include <QtQml/private/qqmlmetatype_p.h> @@ -176,7 +177,7 @@ struct QQuickStyleSpec setFallbackStyle(QString::fromLatin1(qgetenv("QT_QUICK_CONTROLS_FALLBACK_STYLE")), "QT_QUICK_CONTROLS_FALLBACK_STYLE"); #if QT_CONFIG(settings) if (style.isEmpty() || fallbackStyle.isEmpty()) { - QSharedPointer<QSettings> settings = QQuickStyleAttached::settings(QStringLiteral("Controls")); + QSharedPointer<QSettings> settings = QQuickStylePrivate::settings(QStringLiteral("Controls")); if (settings) { if (style.isEmpty()) style = settings->value(QStringLiteral("Style")).toString(); @@ -313,6 +314,21 @@ QString QQuickStylePrivate::configFilePath() return styleSpec()->resolveConfigFilePath(); } +QSharedPointer<QSettings> QQuickStylePrivate::settings(const QString &group) +{ +#ifndef QT_NO_SETTINGS + const QString filePath = QQuickStylePrivate::configFilePath(); + if (QFile::exists(filePath)) { + QFileSelector selector; + QSettings *settings = new QSettings(selector.select(filePath), QSettings::IniFormat); + if (!group.isEmpty()) + settings->beginGroup(group); + return QSharedPointer<QSettings>(settings); + } +#endif // QT_NO_SETTINGS + return QSharedPointer<QSettings>(); +} + /*! Returns the name of the application style. |