37 Q_PROPERTY(QQuickPalette *palette READ palette NOTIFY paletteChanged FINAL)
38 Q_PROPERTY(QQStyleKitStyle *fallbackStyle READ fallbackStyle WRITE setFallbackStyle NOTIFY fallbackStyleChanged FINAL)
39 Q_PROPERTY(QQmlComponent *light READ light WRITE setLight NOTIFY lightChanged FINAL)
40 Q_PROPERTY(QQmlComponent *dark READ dark WRITE setDark NOTIFY darkChanged FINAL)
41 Q_PROPERTY(QString themeName READ themeName WRITE setThemeName NOTIFY themeNameChanged FINAL)
42 Q_PROPERTY(QStringList themeNames READ themeNames NOTIFY themeNamesChanged FINAL)
43 Q_PROPERTY(QStringList customThemeNames READ customThemeNames NOTIFY customThemeNamesChanged FINAL)
44 Q_PROPERTY(QQStyleKitTheme *theme READ theme NOTIFY themeChanged FINAL)
46 Q_CLASSINFO(
"DeferredPropertyNames",
"fallbackStyle")
47 QML_NAMED_ELEMENT(BaseStyle)
55 QQStyleKitStyle(QObject *parent =
nullptr);
58 QQuickPalette *palette()
const;
60 QQStyleKitStyle *fallbackStyle()
const;
61 void setFallbackStyle(QQStyleKitStyle *fallbackStyle);
63 QQmlComponent *light()
const;
64 void setLight(QQmlComponent *lightTheme);
66 QQmlComponent *dark()
const;
67 void setDark(QQmlComponent *darkTheme);
69 QList<QQStyleKitCustomTheme *> customThemes()
const;
70 QStringList themeNames()
const;
71 QStringList customThemeNames()
const;
73 void setThemeName(
const QString &themeName);
74 QString themeName()
const;
75 QQStyleKitTheme *theme()
const;
80 static QQStyleKitStyle *current();
82 QPalette paletteForControlType(QQStyleKitExtendableControlType type)
const;
83 QFont fontForControlType(QQStyleKitExtendableControlType type)
const;
86 Q_INVOKABLE QList<QObject *> customThemesAsList();
89 void paletteChanged();
90 void fallbackStyleChanged();
94 void themeNameChanged();
95 void themeNamesChanged();
96 void customThemeNamesChanged();
99 void componentComplete() override;
103 void executeFallbackStyle(
bool complete =
false);
104 void syncFromQPalette(
const QPalette &palette);
105 QPalette effectivePalette()
const;
107 Q_DISABLE_COPY(QQStyleKitStyle)
109 bool m_completed =
false;
110 bool m_isUpdatingPalette =
false;
112 QQuickDeferredPointer<QQStyleKitStyle> m_fallbackStyle;
113 QPointer<QQmlComponent> m_light;
114 QPointer<QQmlComponent> m_dark;
115 QPointer<QQStyleKitTheme> m_theme;
116 QPointer<QQmlComponent> m_currentThemeComponent;
117 QQuickPalette *m_paletteProxy =
nullptr;
118 QPalette m_effectivePalette;
119 QPointer<QQuickPalette> m_palette;
121 QString m_effectiveThemeName;
122 QStringList m_themeNames;
123 QStringList m_customThemeNames;
125 friend class QQStyleKitAttached;
126 friend class QQStyleKitPropertyGroup;
127 friend class QQStyleKitPropertyResolver;
128 friend class QQStyleKitDebug;