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 s_systemPalette.setBrush(QPalette::Accent, qt_mac_toQBrush(UIColor.tintColor.CGColor));
165#if defined(Q_OS_VISIONOS)
170 return Qt::ColorScheme::Dark;
172 if (s_colorSchemeOverride != Qt::ColorScheme::Unknown)
173 return s_colorSchemeOverride;
177 UIUserInterfaceStyle appearance = UIScreen.mainScreen.traitCollection.userInterfaceStyle;
178 NSArray<UIWindow *> *windows = qt_apple_sharedApplication().windows;
179 for (UIWindow *window in windows) {
180 if ([window isKindOfClass:[QUIWindow
class]]) {
181 appearance =
static_cast<QUIWindow*>(window).traitCollection.userInterfaceStyle;
186 return appearance == UIUserInterfaceStyleDark
187 ? Qt::ColorScheme::Dark
188 : Qt::ColorScheme::Light;
220 const UIUserInterfaceStyle style = []{
221 switch (s_colorSchemeOverride) {
222 case Qt::ColorScheme::Dark:
223 return UIUserInterfaceStyleDark;
224 case Qt::ColorScheme::Light:
225 return UIUserInterfaceStyleLight;
226 case Qt::ColorScheme::Unknown:
227 return UIUserInterfaceStyleUnspecified;
231 window.overrideUserInterfaceStyle = style;
QIcon fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions options={}) const override
Return an icon for fileInfo, observing iconOptions.