summaryrefslogtreecommitdiffstats
path: root/subsurfacesysinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'subsurfacesysinfo.cpp')
-rw-r--r--subsurfacesysinfo.cpp153
1 files changed, 10 insertions, 143 deletions
diff --git a/subsurfacesysinfo.cpp b/subsurfacesysinfo.cpp
index 934e01320..a5fd1fe0d 100644
--- a/subsurfacesysinfo.cpp
+++ b/subsurfacesysinfo.cpp
@@ -46,6 +46,10 @@
#include <QFile>
#include <QSettings>
+#ifndef QStringLiteral
+# define QStringLiteral QString::fromUtf8
+#endif
+
#ifdef Q_OS_UNIX
#include <sys/utsname.h>
#endif
@@ -55,6 +59,8 @@
#include <CoreServices/CoreServices.h>
#endif
+// --- this is a copy of Qt 5.4's src/corelib/global/archdetect.cpp ---
+
// main part: processor type
#if defined(Q_PROCESSOR_ALPHA)
# define ARCH_PROCESSOR "alpha"
@@ -126,24 +132,9 @@
#define ARCH_FULL ARCH_PROCESSOR "-" ARCH_ENDIANNESS "-" ARCH_POINTER ARCH_ABI
+// --- end of archdetect.cpp ---
-#if defined(Q_OS_OSX)
-
-SubsurfaceSysInfo::MacVersion SubsurfaceSysInfo::macVersion()
-{
-#if defined(Q_OS_OSX)
- SInt32 gestalt_version;
- if (Gestalt(gestaltSystemVersionMinor, &gestalt_version) == noErr) {
- // add 2 because OS X 10.0 is 0x02 in the enum
- return SubsurfaceSysInfo::MacVersion(gestalt_version + 2);
- }
-#elif defined(Q_OS_IOS)
- return qt_ios_version(); // qtcore_mac_objc.mm
-#endif
- return SubsurfaceSysInfo::MV_Unknown;
-}
-const SubsurfaceSysInfo::MacVersion SubsurfaceSysInfo::MacintoshVersion = SubsurfaceSysInfo::macVersion();
-#elif defined(Q_OS_WIN) || defined(Q_OS_CYGWIN) || defined(Q_OS_WINCE) || defined(Q_OS_WINRT)
+#if defined(Q_OS_WIN) || defined(Q_OS_CYGWIN) || defined(Q_OS_WINCE) || defined(Q_OS_WINRT)
QT_BEGIN_INCLUDE_NAMESPACE
#include "qt_windows.h"
@@ -181,118 +172,6 @@ static inline OSVERSIONINFO winOsVersion()
}
#endif // !Q_OS_WINRT
-SubsurfaceSysInfo::WinVersion SubsurfaceSysInfo::windowsVersion()
-{
-#ifndef VER_PLATFORM_WIN32s
-#define VER_PLATFORM_WIN32s 0
-#endif
-#ifndef VER_PLATFORM_WIN32_WINDOWS
-#define VER_PLATFORM_WIN32_WINDOWS 1
-#endif
-#ifndef VER_PLATFORM_WIN32_NT
-#define VER_PLATFORM_WIN32_NT 2
-#endif
-#ifndef VER_PLATFORM_WIN32_CE
-#define VER_PLATFORM_WIN32_CE 3
-#endif
-
- static SubsurfaceSysInfo::WinVersion winver;
- if (winver)
- return winver;
-#ifdef Q_OS_WINRT
- winver = SubsurfaceSysInfo::WV_WINDOWS8;
-#else
- winver = SubsurfaceSysInfo::WV_NT;
- const OSVERSIONINFO osver = winOsVersion();
-#ifdef Q_OS_WINCE
- DWORD qt_cever = 0;
- qt_cever = osver.dwMajorVersion * 100;
- qt_cever += osver.dwMinorVersion * 10;
-#endif
- switch (osver.dwPlatformId) {
- case VER_PLATFORM_WIN32s:
- winver = SubsurfaceSysInfo::WV_32s;
- break;
- case VER_PLATFORM_WIN32_WINDOWS:
- // We treat Windows Me (minor 90) the same as Windows 98
- if (osver.dwMinorVersion == 90)
- winver = SubsurfaceSysInfo::WV_Me;
- else if (osver.dwMinorVersion == 10)
- winver = SubsurfaceSysInfo::WV_98;
- else
- winver = SubsurfaceSysInfo::WV_95;
- break;
-#ifdef Q_OS_WINCE
- case VER_PLATFORM_WIN32_CE:
- if (qt_cever >= 600)
- winver = SubsurfaceSysInfo::WV_CE_6;
- if (qt_cever >= 500)
- winver = SubsurfaceSysInfo::WV_CE_5;
- else if (qt_cever >= 400)
- winver = SubsurfaceSysInfo::WV_CENET;
- else
- winver = SubsurfaceSysInfo::WV_CE;
- break;
-#endif
- default: // VER_PLATFORM_WIN32_NT
- if (osver.dwMajorVersion < 5) {
- winver = SubsurfaceSysInfo::WV_NT;
- } else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 0) {
- winver = SubsurfaceSysInfo::WV_2000;
- } else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 1) {
- winver = SubsurfaceSysInfo::WV_XP;
- } else if (osver.dwMajorVersion == 5 && osver.dwMinorVersion == 2) {
- winver = SubsurfaceSysInfo::WV_2003;
- } else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 0) {
- winver = SubsurfaceSysInfo::WV_VISTA;
- } else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 1) {
- winver = SubsurfaceSysInfo::WV_WINDOWS7;
- } else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 2) {
- winver = SubsurfaceSysInfo::WV_WINDOWS8;
- } else if (osver.dwMajorVersion == 6 && osver.dwMinorVersion == 3) {
- winver = SubsurfaceSysInfo::WV_WINDOWS8_1;
- } else {
- qWarning("Qt: Untested Windows version %d.%d detected!",
- int(osver.dwMajorVersion), int(osver.dwMinorVersion));
- winver = SubsurfaceSysInfo::WV_NT_based;
- }
- }
-
-#ifdef QT_DEBUG
- {
- QByteArray override = qgetenv("QT_WINVER_OVERRIDE");
- if (override.isEmpty())
- return winver;
-
- if (override == "Me")
- winver = SubsurfaceSysInfo::WV_Me;
- if (override == "95")
- winver = SubsurfaceSysInfo::WV_95;
- else if (override == "98")
- winver = SubsurfaceSysInfo::WV_98;
- else if (override == "NT")
- winver = SubsurfaceSysInfo::WV_NT;
- else if (override == "2000")
- winver = SubsurfaceSysInfo::WV_2000;
- else if (override == "2003")
- winver = SubsurfaceSysInfo::WV_2003;
- else if (override == "XP")
- winver = SubsurfaceSysInfo::WV_XP;
- else if (override == "VISTA")
- winver = SubsurfaceSysInfo::WV_VISTA;
- else if (override == "WINDOWS7")
- winver = SubsurfaceSysInfo::WV_WINDOWS7;
- else if (override == "WINDOWS8")
- winver = SubsurfaceSysInfo::WV_WINDOWS8;
- else if (override == "WINDOWS8_1")
- winver = SubsurfaceSysInfo::WV_WINDOWS8_1;
- }
-#endif
-#endif // !Q_OS_WINRT
-
- return winver;
-}
-
static const char *winVer_helper()
{
switch (int(SubsurfaceSysInfo::WindowsVersion)) {
@@ -325,9 +204,6 @@ static const char *winVer_helper()
// unknown, future version
return 0;
}
-
-const SubsurfaceSysInfo::WinVersion SubsurfaceSysInfo::WindowsVersion = SubsurfaceSysInfo::windowsVersion();
-
#endif
#if defined(Q_OS_UNIX)
@@ -403,7 +279,7 @@ static QUnixOSVersion detectUnixVersion()
}
#endif
-QString SubsurfaceSysInfo::unknownText()
+static QString unknownText()
{
return QStringLiteral("unknown");
}
@@ -525,15 +401,6 @@ QString SubsurfaceSysInfo::prettyOsName()
// get the known codenames
const char *basename = 0;
switch (int(MacintoshVersion)) {
- case MV_CHEETAH:
- case MV_PUMA:
- case MV_JAGUAR:
- case MV_PANTHER:
- case MV_TIGER:
- // This version of Qt does not run on those versions of OS X
- // so this case label will never be reached
- Q_UNREACHABLE();
- break;
case MV_LEOPARD:
basename = "Mac OS X Leopard (";
break;
@@ -549,7 +416,7 @@ QString SubsurfaceSysInfo::prettyOsName()
case MV_MAVERICKS:
basename = "OS X Mavericks (";
break;
- case MV_YOSEMITE:
+ case 0x000C: // MV_YOSEMITE
basename = "OS X Yosemite (";
break;
}