aboutsummaryrefslogtreecommitdiffstats
path: root/src/controls/qquickstyle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/qquickstyle.cpp')
-rw-r--r--src/controls/qquickstyle.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/controls/qquickstyle.cpp b/src/controls/qquickstyle.cpp
index b83f8c2a..4ab7b7cc 100644
--- a/src/controls/qquickstyle.cpp
+++ b/src/controls/qquickstyle.cpp
@@ -36,10 +36,14 @@
#include "qquickstyle_p.h"
+#include <QtCore/qfile.h>
+#include <QtCore/qsettings.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 +152,20 @@ 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)) {
+ QSettings *settings = new QSettings(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;