summaryrefslogtreecommitdiff
path: root/src/controls/Private/qquickcontrolsettings_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/Private/qquickcontrolsettings_p.h')
-rw-r--r--src/controls/Private/qquickcontrolsettings_p.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/controls/Private/qquickcontrolsettings_p.h b/src/controls/Private/qquickcontrolsettings_p.h
index ed21101d..1b99fd3e 100644
--- a/src/controls/Private/qquickcontrolsettings_p.h
+++ b/src/controls/Private/qquickcontrolsettings_p.h
@@ -39,6 +39,9 @@
#include <QtCore/qurl.h>
#include <QtCore/qobject.h>
+#include <QtCore/qstring.h>
+#include <QtCore/qhash.h>
+#include <QtQml/qqmlcomponent.h>
QT_BEGIN_NAMESPACE
@@ -74,6 +77,9 @@ public:
bool isMobile() const;
bool hoverEnabled() const;
+ Q_INVOKABLE QQmlComponent *styleComponent(const QUrl &styleDirUrl,
+ const QString &controlStyleName, QObject *control);
+
signals:
void styleChanged();
void styleNameChanged();
@@ -81,9 +87,22 @@ signals:
private:
QString styleFilePath() const;
+ void findStyle(QQmlEngine *engine, const QString &styleName);
+ bool resolveCurrentStylePath();
+ QString makeStyleComponentPath(const QString &controlStyleName, const QString &styleDirPath);
+ QUrl makeStyleComponentUrl(const QString &controlStyleName, QString styleDirPath);
+
+ struct StyleData
+ {
+ // Path to the style's plugin or qmldir file.
+ QString m_stylePluginPath;
+ // Path to the directory containing the style's files.
+ QString m_styleDirPath;
+ };
QString m_name;
QString m_path;
+ QHash<QString, StyleData> m_styleMap;
};
QT_END_NAMESPACE