diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/quickcontrols2/qquickstyle.cpp | 5 | ||||
-rw-r--r-- | src/quickcontrols2/qquickstyle_p.h | 1 | ||||
-rw-r--r-- | src/quickcontrols2/qquickstyleplugin.cpp | 4 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/quickcontrols2/qquickstyle.cpp b/src/quickcontrols2/qquickstyle.cpp index 5b45a98a..7ad4a38d 100644 --- a/src/quickcontrols2/qquickstyle.cpp +++ b/src/quickcontrols2/qquickstyle.cpp @@ -260,6 +260,11 @@ struct QQuickStyleSpec Q_GLOBAL_STATIC(QQuickStyleSpec, styleSpec) +QString QQuickStylePrivate::style() +{ + return styleSpec()->style; +} + QString QQuickStylePrivate::effectiveStyleName(const QString &styleName) { return !styleName.isEmpty() ? styleName : QLatin1String("Basic"); diff --git a/src/quickcontrols2/qquickstyle_p.h b/src/quickcontrols2/qquickstyle_p.h index e2db35d7..8d0e5a8d 100644 --- a/src/quickcontrols2/qquickstyle_p.h +++ b/src/quickcontrols2/qquickstyle_p.h @@ -58,6 +58,7 @@ class QSettings; class Q_QUICKCONTROLS2_EXPORT QQuickStylePrivate { public: + static QString style(); static QString effectiveStyleName(const QString &styleName); static QString fallbackStyle(); static bool isCustomStyle(); diff --git a/src/quickcontrols2/qquickstyleplugin.cpp b/src/quickcontrols2/qquickstyleplugin.cpp index 730a8423..27299b21 100644 --- a/src/quickcontrols2/qquickstyleplugin.cpp +++ b/src/quickcontrols2/qquickstyleplugin.cpp @@ -63,7 +63,9 @@ void QQuickStylePlugin::registerTypes(const char *uri) qCDebug(lcStylePlugin).nospace() << "registerTypes called with uri " << uri << "; plugin name is " << name(); const QTypeRevision latestControlsRevision = QQmlMetaType::latestModuleVersion(QLatin1String("QtQuick.Controls")); - QString styleName = QQuickStyle::name(); + // Use the private function because we don't want to cause resolve() to be called, + // as the logic that assigns a default style if one wasn't set would interfere with compile-time style selection. + QString styleName = QQuickStylePrivate::style(); if (!latestControlsRevision.isValid() && styleName.isEmpty()) { // The user hasn't imported QtQuick.Controls, nor set a style via the runtime methods. qCDebug(lcStylePlugin).nospace() << uri << " imported before QtQuick.Controls; using compile-time style selection"; |