cocoa/darwin: remove checking for legacy OS versions
Remove redundant OS version checking (via @available) and stop supporting legacy macOS (< 11) an iOS (< 14) versions that were already unsupported in previous 6.5 LTS. Change-Id: I772d6ca9ca638f00116c9782315e0d0b7139fe23 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 95c7e6565dc0a182f6ca8ec7c73dce58ceb04f47) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
3a70e669ef
commit
e05a60c75a
@ -103,19 +103,15 @@ struct PermissionRequest
|
|||||||
|
|
||||||
- (CLAuthorizationStatus)authorizationStatus
|
- (CLAuthorizationStatus)authorizationStatus
|
||||||
{
|
{
|
||||||
if (self.manager) {
|
if (self.manager)
|
||||||
if (@available(macOS 11, iOS 14, *))
|
return self.manager.authorizationStatus;
|
||||||
return self.manager.authorizationStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
return QT_IGNORE_DEPRECATIONS(CLLocationManager.authorizationStatus);
|
return QT_IGNORE_DEPRECATIONS(CLLocationManager.authorizationStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (Qt::PermissionStatus)accuracyAuthorization:(QLocationPermission)permission
|
- (Qt::PermissionStatus)accuracyAuthorization:(QLocationPermission)permission
|
||||||
{
|
{
|
||||||
auto status = CLAccuracyAuthorizationReducedAccuracy;
|
auto status = self.manager.accuracyAuthorization;
|
||||||
if (@available(macOS 11, iOS 14, *))
|
|
||||||
status = self.manager.accuracyAuthorization;
|
|
||||||
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case CLAccuracyAuthorizationFullAccuracy:
|
case CLAccuracyAuthorizationFullAccuracy:
|
||||||
|
@ -455,23 +455,21 @@ const QAppleKeyMapper::KeyMap &QAppleKeyMapper::keyMapForKey(VirtualKeyCode virt
|
|||||||
if (err == noErr && actualStringLength)
|
if (err == noErr && actualStringLength)
|
||||||
carbonUnicodeKey = QChar(unicodeString[0]);
|
carbonUnicodeKey = QChar(unicodeString[0]);
|
||||||
|
|
||||||
if (@available(macOS 10.15, *)) {
|
if (canMapCocoaEvent) {
|
||||||
if (canMapCocoaEvent) {
|
// Until we've verified that the Cocoa API works as expected
|
||||||
// Until we've verified that the Cocoa API works as expected
|
// we first run the event through the Carbon APIs and then
|
||||||
// we first run the event through the Carbon APIs and then
|
// compare the results to Cocoa.
|
||||||
// compare the results to Cocoa.
|
auto cocoaModifiers = toCocoaModifiers(qtModifiers);
|
||||||
auto cocoaModifiers = toCocoaModifiers(qtModifiers);
|
auto *charactersWithModifiers = [NSApp.currentEvent charactersByApplyingModifiers:cocoaModifiers];
|
||||||
auto *charactersWithModifiers = [NSApp.currentEvent charactersByApplyingModifiers:cocoaModifiers];
|
|
||||||
|
|
||||||
QChar cocoaUnicodeKey;
|
QChar cocoaUnicodeKey;
|
||||||
if (charactersWithModifiers.length > 0)
|
if (charactersWithModifiers.length > 0)
|
||||||
cocoaUnicodeKey = QChar([charactersWithModifiers characterAtIndex:0]);
|
cocoaUnicodeKey = QChar([charactersWithModifiers characterAtIndex:0]);
|
||||||
|
|
||||||
if (cocoaUnicodeKey != carbonUnicodeKey) {
|
if (cocoaUnicodeKey != carbonUnicodeKey) {
|
||||||
qCWarning(lcQpaKeyMapper) << "Mismatch between Cocoa" << cocoaUnicodeKey
|
qCWarning(lcQpaKeyMapper) << "Mismatch between Cocoa" << cocoaUnicodeKey
|
||||||
<< "and Carbon" << carbonUnicodeKey << "for virtual key" << virtualKey
|
<< "and Carbon" << carbonUnicodeKey << "for virtual key" << virtualKey
|
||||||
<< "with" << qtModifiers;
|
<< "with" << qtModifiers;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -951,15 +951,13 @@ void QCoreTextFontDatabase::populateThemeFonts()
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Try populating the font variants based on its UI design trait, if available
|
// Try populating the font variants based on its UI design trait, if available
|
||||||
if (@available(macos 10.15, ios 13.0, *)) {
|
auto fontTraits = QCFType<CFDictionaryRef>(CTFontDescriptorCopyAttribute(fontDescriptor, kCTFontTraitsAttribute));
|
||||||
auto fontTraits = QCFType<CFDictionaryRef>(CTFontDescriptorCopyAttribute(fontDescriptor, kCTFontTraitsAttribute));
|
static const NSString *kUIFontDesignTrait = @"NSCTFontUIFontDesignTrait";
|
||||||
static const NSString *kUIFontDesignTrait = @"NSCTFontUIFontDesignTrait";
|
if (id uiFontDesignTrait = fontTraits.as<NSDictionary*>()[kUIFontDesignTrait]) {
|
||||||
if (id uiFontDesignTrait = fontTraits.as<NSDictionary*>()[kUIFontDesignTrait]) {
|
QCFType<CTFontDescriptorRef> designTraitDescriptor = CTFontDescriptorCreateWithAttributes(
|
||||||
QCFType<CTFontDescriptorRef> designTraitDescriptor = CTFontDescriptorCreateWithAttributes(
|
CFDictionaryRef(@{ (id)kCTFontTraitsAttribute: @{ kUIFontDesignTrait: uiFontDesignTrait }
|
||||||
CFDictionaryRef(@{ (id)kCTFontTraitsAttribute: @{ kUIFontDesignTrait: uiFontDesignTrait }
|
}));
|
||||||
}));
|
addFontVariants(designTraitDescriptor);
|
||||||
addFontVariants(designTraitDescriptor);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (themeFontVariants.isEmpty()) {
|
if (themeFontVariants.isEmpty()) {
|
||||||
|
@ -170,8 +170,7 @@ bool QCocoaMessageDialog::show(Qt::WindowFlags windowFlags, Qt::WindowModality w
|
|||||||
else if ([button.keyEquivalent isEqualToString:@"\e"])
|
else if ([button.keyEquivalent isEqualToString:@"\e"])
|
||||||
button.keyEquivalent = @"";
|
button.keyEquivalent = @"";
|
||||||
|
|
||||||
if (@available(macOS 11, *))
|
button.hasDestructiveAction = role == DestructiveRole;
|
||||||
button.hasDestructiveAction = role == DestructiveRole;
|
|
||||||
|
|
||||||
// The NSModalResponse of showing an NSAlert normally depends on the order of the
|
// The NSModalResponse of showing an NSAlert normally depends on the order of the
|
||||||
// button that was clicked, starting from the right with NSAlertFirstButtonReturn (1000),
|
// button that was clicked, starting from the right with NSAlertFirstButtonReturn (1000),
|
||||||
|
@ -197,38 +197,6 @@ QCocoaScreen::~QCocoaScreen()
|
|||||||
dispatch_release(m_displayLinkSource);
|
dispatch_release(m_displayLinkSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
static QString displayName(CGDirectDisplayID displayID)
|
|
||||||
{
|
|
||||||
QIOType<io_iterator_t> iterator;
|
|
||||||
if (IOServiceGetMatchingServices(kIOMainPortDefault,
|
|
||||||
IOServiceMatching("IODisplayConnect"), &iterator))
|
|
||||||
return QString();
|
|
||||||
|
|
||||||
QIOType<io_service_t> display;
|
|
||||||
while ((display = IOIteratorNext(iterator)) != 0)
|
|
||||||
{
|
|
||||||
NSDictionary *info = [(__bridge NSDictionary*)IODisplayCreateInfoDictionary(
|
|
||||||
display, kIODisplayOnlyPreferredName) autorelease];
|
|
||||||
|
|
||||||
if ([[info objectForKey:@kDisplayVendorID] unsignedIntValue] != CGDisplayVendorNumber(displayID))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if ([[info objectForKey:@kDisplayProductID] unsignedIntValue] != CGDisplayModelNumber(displayID))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if ([[info objectForKey:@kDisplaySerialNumber] unsignedIntValue] != CGDisplaySerialNumber(displayID))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
NSDictionary *localizedNames = [info objectForKey:@kDisplayProductName];
|
|
||||||
if (![localizedNames count])
|
|
||||||
break; // Correct screen, but no name in dictionary
|
|
||||||
|
|
||||||
return QString::fromNSString([localizedNames objectForKey:[[localizedNames allKeys] objectAtIndex:0]]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QCocoaScreen::update(CGDirectDisplayID displayId)
|
void QCocoaScreen::update(CGDirectDisplayID displayId)
|
||||||
{
|
{
|
||||||
if (displayId != m_displayId) {
|
if (displayId != m_displayId) {
|
||||||
@ -274,11 +242,7 @@ void QCocoaScreen::update(CGDirectDisplayID displayId)
|
|||||||
float refresh = CGDisplayModeGetRefreshRate(displayMode);
|
float refresh = CGDisplayModeGetRefreshRate(displayMode);
|
||||||
m_refreshRate = refresh > 0 ? refresh : 60.0;
|
m_refreshRate = refresh > 0 ? refresh : 60.0;
|
||||||
m_rotation = CGDisplayRotation(displayId);
|
m_rotation = CGDisplayRotation(displayId);
|
||||||
|
m_name = QString::fromNSString(nsScreen.localizedName);
|
||||||
if (@available(macOS 10.15, *))
|
|
||||||
m_name = QString::fromNSString(nsScreen.localizedName);
|
|
||||||
else
|
|
||||||
m_name = displayName(m_displayId);
|
|
||||||
|
|
||||||
const bool didChangeGeometry = m_geometry != previousGeometry || m_availableGeometry != previousAvailableGeometry;
|
const bool didChangeGeometry = m_geometry != previousGeometry || m_availableGeometry != previousAvailableGeometry;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user