31 Q_PROPERTY(Theme theme READ theme WRITE setTheme RESET resetTheme NOTIFY themeChanged FINAL)
32 Q_PROPERTY(QVariant accent READ accent WRITE setAccent RESET resetAccent NOTIFY accentChanged FINAL)
33 Q_PROPERTY(QVariant foreground READ foreground WRITE setForeground RESET resetForeground NOTIFY foregroundChanged FINAL)
34 Q_PROPERTY(QVariant background READ background WRITE setBackground RESET resetBackground NOTIFY backgroundChanged FINAL)
36 Q_PROPERTY(QColor altHighColor READ altHighColor NOTIFY paletteChanged FINAL)
37 Q_PROPERTY(QColor altLowColor READ altLowColor NOTIFY paletteChanged FINAL)
38 Q_PROPERTY(QColor altMediumColor READ altMediumColor NOTIFY paletteChanged FINAL)
39 Q_PROPERTY(QColor altMediumHighColor READ altMediumHighColor NOTIFY paletteChanged FINAL)
40 Q_PROPERTY(QColor altMediumLowColor READ altMediumLowColor NOTIFY paletteChanged FINAL)
41 Q_PROPERTY(QColor baseHighColor READ baseHighColor NOTIFY paletteChanged FINAL)
42 Q_PROPERTY(QColor baseLowColor READ baseLowColor NOTIFY paletteChanged FINAL)
43 Q_PROPERTY(QColor baseMediumColor READ baseMediumColor NOTIFY paletteChanged FINAL)
44 Q_PROPERTY(QColor baseMediumHighColor READ baseMediumHighColor NOTIFY paletteChanged FINAL)
45 Q_PROPERTY(QColor baseMediumLowColor READ baseMediumLowColor NOTIFY paletteChanged FINAL)
46 Q_PROPERTY(QColor chromeAltLowColor READ chromeAltLowColor NOTIFY paletteChanged FINAL)
47 Q_PROPERTY(QColor chromeBlackHighColor READ chromeBlackHighColor NOTIFY paletteChanged FINAL)
48 Q_PROPERTY(QColor chromeBlackLowColor READ chromeBlackLowColor NOTIFY paletteChanged FINAL)
49 Q_PROPERTY(QColor chromeBlackMediumLowColor READ chromeBlackMediumLowColor NOTIFY paletteChanged FINAL)
50 Q_PROPERTY(QColor chromeBlackMediumColor READ chromeBlackMediumColor NOTIFY paletteChanged FINAL)
51 Q_PROPERTY(QColor chromeDisabledHighColor READ chromeDisabledHighColor NOTIFY paletteChanged FINAL)
52 Q_PROPERTY(QColor chromeDisabledLowColor READ chromeDisabledLowColor NOTIFY paletteChanged FINAL)
53 Q_PROPERTY(QColor chromeHighColor READ chromeHighColor NOTIFY paletteChanged FINAL)
54 Q_PROPERTY(QColor chromeLowColor READ chromeLowColor NOTIFY paletteChanged FINAL)
55 Q_PROPERTY(QColor chromeMediumColor READ chromeMediumColor NOTIFY paletteChanged FINAL)
56 Q_PROPERTY(QColor chromeMediumLowColor READ chromeMediumLowColor NOTIFY paletteChanged FINAL)
57 Q_PROPERTY(QColor chromeWhiteColor READ chromeWhiteColor NOTIFY paletteChanged FINAL)
58 Q_PROPERTY(QColor listLowColor READ listLowColor NOTIFY paletteChanged FINAL)
59 Q_PROPERTY(QColor listMediumColor READ listMediumColor NOTIFY paletteChanged FINAL)
61 QML_NAMED_ELEMENT(Universal)
62 QML_ATTACHED(QQuickUniversalStyle)
64 QML_ADDED_IN_VERSION(2, 0)
67 explicit QQuickUniversalStyle(QObject *parent =
nullptr);
69 static QQuickUniversalStyle *qmlAttachedProperties(QObject *object);
71 enum Theme { Light, Dark, System };
75 void setTheme(Theme theme);
76 void inheritTheme(Theme theme);
77 void propagateTheme();
104 QVariant accent()
const;
105 void setAccent(
const QVariant &accent);
106 void inheritAccent(QRgb accent);
107 void propagateAccent();
110 QVariant foreground()
const;
111 void setForeground(
const QVariant &foreground);
112 void inheritForeground(QRgb foreground,
bool has);
113 void propagateForeground();
114 void resetForeground();
116 QVariant background()
const;
117 void setBackground(
const QVariant &background);
118 void inheritBackground(QRgb background,
bool has);
119 void propagateBackground();
120 void resetBackground();
122 Q_INVOKABLE QColor color(Color color)
const;
124 QColor altHighColor()
const;
125 QColor altLowColor()
const;
126 QColor altMediumColor()
const;
127 QColor altMediumHighColor()
const;
128 QColor altMediumLowColor()
const;
129 QColor baseHighColor()
const;
130 QColor baseLowColor()
const;
131 QColor baseMediumColor()
const;
132 QColor baseMediumHighColor()
const;
133 QColor baseMediumLowColor()
const;
134 QColor chromeAltLowColor()
const;
135 QColor chromeBlackHighColor()
const;
136 QColor chromeBlackLowColor()
const;
137 QColor chromeBlackMediumLowColor()
const;
138 QColor chromeBlackMediumColor()
const;
139 QColor chromeDisabledHighColor()
const;
140 QColor chromeDisabledLowColor()
const;
141 QColor chromeHighColor()
const;
142 QColor chromeLowColor()
const;
143 QColor chromeMediumColor()
const;
144 QColor chromeMediumLowColor()
const;
145 QColor chromeWhiteColor()
const;
146 QColor listLowColor()
const;
147 QColor listMediumColor()
const;
163 ChromeBlackMediumLow,
176 QColor systemColor(SystemColor role)
const;
178 static void initGlobals();
182 void accentChanged();
183 void foregroundChanged();
184 void backgroundChanged();
185 void paletteChanged();
188 void attachedParentChange(QQuickAttachedPropertyPropagator *newParent, QQuickAttachedPropertyPropagator *oldParent) override;
191 bool variantToRgba(
const QVariant &var,
const char *name, QRgb *rgba)
const;
195 bool m_explicitTheme =
false;
196 bool m_explicitAccent =
false;
197 bool m_explicitForeground =
false;
198 bool m_explicitBackground =
false;
203 bool m_hasForeground =
false;
204 bool m_hasBackground =
false;
205 bool m_usingSystemTheme =
false;
207 Theme m_theme = Light;
208 QRgb m_accent = Qt::blue;
209 QRgb m_foreground = Qt::black;
210 QRgb m_background = Qt::white;