44 m_contentSizeCategoryObserver = QMacNotificationObserver(nil,
45 UIContentSizeCategoryDidChangeNotification, [] {
46 qCDebug(lcQpaFonts) <<
"Contents size category changed to" << UIApplication.sharedApplication.preferredContentSizeCategory;
47 QPlatformFontDatabase::repopulateFontDatabase();
49 m_motionPreferenceObserver = QMacNotificationObserver(nil,
50 UIAccessibilityReduceMotionStatusDidChangeNotification, [] {
51 QWindowSystemInterface::handleThemeChange<QWindowSystemInterface::SynchronousDelivery>();
63 Q_DECL_IMPORT QPalette qt_fusionPalette(
void);
64 s_systemPalette = qt_fusionPalette();
66 const auto disabledText = qt_mac_toQBrush(UIColor.tertiaryLabelColor.CGColor);
68 s_systemPalette.setBrush(QPalette::Window, qt_mac_toQBrush(UIColor.systemGroupedBackgroundColor.CGColor));
69 s_systemPalette.setBrush(QPalette::Active, QPalette::WindowText, qt_mac_toQBrush(UIColor.labelColor.CGColor));
70 s_systemPalette.setBrush(QPalette::Disabled, QPalette::WindowText, disabledText);
72 s_systemPalette.setBrush(QPalette::Base, qt_mac_toQBrush(UIColor.secondarySystemGroupedBackgroundColor.CGColor));
73 s_systemPalette.setBrush(QPalette::Active, QPalette::Text, qt_mac_toQBrush(UIColor.labelColor.CGColor));
74 s_systemPalette.setBrush(QPalette::Disabled, QPalette::Text, disabledText);
76 s_systemPalette.setBrush(QPalette::Button, qt_mac_toQBrush(UIColor.secondarySystemBackgroundColor.CGColor));
77 s_systemPalette.setBrush(QPalette::Active, QPalette::ButtonText, qt_mac_toQBrush(UIColor.labelColor.CGColor));
78 s_systemPalette.setBrush(QPalette::Disabled, QPalette::ButtonText, disabledText);
80 s_systemPalette.setBrush(QPalette::Active, QPalette::BrightText, qt_mac_toQBrush(UIColor.lightTextColor.CGColor));
81 s_systemPalette.setBrush(QPalette::Active, QPalette::PlaceholderText, qt_mac_toQBrush(UIColor.placeholderTextColor.CGColor));
83 s_systemPalette.setBrush(QPalette::Active, QPalette::Link, qt_mac_toQBrush(UIColor.linkColor.CGColor));
84 s_systemPalette.setBrush(QPalette::Active, QPalette::LinkVisited, qt_mac_toQBrush(UIColor.linkColor.CGColor));
86 s_systemPalette.setBrush(QPalette::Highlight, QColor(11, 70, 150, 60));
87 s_systemPalette.setBrush(QPalette::HighlightedText, qt_mac_toQBrush(UIColor.labelColor.CGColor));
89 s_systemPalette.setBrush(QPalette::ToolTipText, qt_mac_toQBrush(UIColor.labelColor.CGColor));
90 s_systemPalette.setBrush(QPalette::Disabled, QPalette::ToolTipText, disabledText);
92 if (@available(ios 15.0, *))
93 s_systemPalette.setBrush(QPalette::Accent, qt_mac_toQBrush(UIColor.tintColor.CGColor));
166#if defined(Q_OS_VISIONOS)
171 return Qt::ColorScheme::Dark;
173 if (s_colorSchemeOverride != Qt::ColorScheme::Unknown)
174 return s_colorSchemeOverride;
178 UIUserInterfaceStyle appearance = UIScreen.mainScreen.traitCollection.userInterfaceStyle;
179 NSArray<UIWindow *> *windows = qt_apple_sharedApplication().windows;
180 for (UIWindow *window in windows) {
181 if ([window isKindOfClass:[QUIWindow
class]]) {
182 appearance =
static_cast<QUIWindow*>(window).traitCollection.userInterfaceStyle;
187 return appearance == UIUserInterfaceStyleDark
188 ? Qt::ColorScheme::Dark
189 : Qt::ColorScheme::Light;
221 const UIUserInterfaceStyle style = []{
222 switch (s_colorSchemeOverride) {
223 case Qt::ColorScheme::Dark:
224 return UIUserInterfaceStyleDark;
225 case Qt::ColorScheme::Light:
226 return UIUserInterfaceStyleLight;
227 case Qt::ColorScheme::Unknown:
228 return UIUserInterfaceStyleUnspecified;
232 window.overrideUserInterfaceStyle = style;