diff options
Diffstat (limited to 'src/controls/qquickstyle.cpp')
-rw-r--r-- | src/controls/qquickstyle.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/controls/qquickstyle.cpp b/src/controls/qquickstyle.cpp index b83f8c2a..5e1085c6 100644 --- a/src/controls/qquickstyle.cpp +++ b/src/controls/qquickstyle.cpp @@ -36,10 +36,15 @@ #include "qquickstyle_p.h" +#include <QtCore/qfile.h> +#include <QtCore/qsettings.h> +#include <QtCore/qfileselector.h> #include <QtQuick/private/qquickitem_p.h> QT_BEGIN_NAMESPACE +static const char *SettingsFilePath = ":/qtlabscontrols.conf"; + static QQuickStyle *attachedStyle(const QMetaObject *type, QObject *object, bool create = false) { if (!object) @@ -148,6 +153,21 @@ QQuickStyle::~QQuickStyle() setParentStyle(Q_NULLPTR); } +QSharedPointer<QSettings> QQuickStyle::settings(const QString &group) +{ +#ifndef QT_NO_SETTINGS + const QString filePath = QLatin1String(SettingsFilePath); + 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>(); +} + QList<QQuickStyle *> QQuickStyle::childStyles() const { return m_childStyles; |