macOS: Add missing product names for QSysInfo::prettyProductName()

And restructure the logic a bit for easier maintenance in the future.

Pick-to: 6.7 6.5
Change-Id: I6ff7396378bf02e177a4fb06978683474a79ad2f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 61b70bd7de91a2aab8609e1f878043d2aceb6bfd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Tor Arne Vestbø 2024-07-03 18:24:35 +02:00 committed by Qt Cherry-pick Bot
parent 16b0042dc6
commit 02fd2c19fd

View File

@ -91,32 +91,30 @@ using namespace Qt::StringLiterals;
static const char *osVer_helper(QOperatingSystemVersion version = QOperatingSystemVersion::current())
{
#ifdef Q_OS_MACOS
if (version.majorVersion() == 13)
return "Ventura";
if (version.majorVersion() == 12)
return "Monterey";
// Compare against predefined constant to handle 10.16/11.0
if (QOperatingSystemVersion::MacOSBigSur.version().isPrefixOf(version.version()))
return "Big Sur";
if (version.majorVersion() == 10) {
switch (version.majorVersion()) {
case 10: {
switch (version.minorVersion()) {
case 9:
return "Mavericks";
case 10:
return "Yosemite";
case 11:
return "El Capitan";
case 12:
return "Sierra";
case 13:
return "High Sierra";
case 14:
return "Mojave";
case 15:
return "Catalina";
case 9: return "Mavericks";
case 10: return "Yosemite";
case 11: return "El Capitan";
case 12: return "Sierra";
case 13: return "High Sierra";
case 14: return "Mojave";
case 15: return "Catalina";
case 16: return "Big Sur";
default:
Q_UNREACHABLE();
}
}
// unknown, future version
case 11: return "Big Sur";
case 12: return "Monterey";
case 13: return "Ventura";
case 14: return "Sonoma";
case 15: return "Sequoia";
default:
// Unknown, future version
break;
}
#else
Q_UNUSED(version);
#endif