This repository was archived by the owner on Aug 22, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsystemname.cpp
More file actions
93 lines (89 loc) · 2.13 KB
/
systemname.cpp
File metadata and controls
93 lines (89 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include "systemname.h"
#include <QSysInfo>
#ifdef MOBILITY_READY
#include <QSystemDeviceInfo>
QTM_USE_NAMESPACE
#endif
QString deviceName()
{
#ifdef MOBILITY_READY
QSystemDeviceInfo info;
return info.manufacturer() + " " + info.model();
#else
return osName().append("-based Device");
#endif
}
QString osName()
{
#if defined(Q_OS_ANDROID)
return "Android";
#elif defined(Q_OS_SYMBIAN)
switch (QSysInfo::symbianVersion()) {
case QSysInfo::SV_9_2:
return "Symbian OS v9.2";
case QSysInfo::SV_9_3:
return "Symbian OS v9.3";
case QSysInfo::SV_9_4:
return "Symbian OS v9.4";
case QSysInfo::SV_SF_2:
return "Symbian^2";
case QSysInfo::SV_SF_3:
return "Symbian^3";
case QSysInfo::SV_SF_4:
return "Symbian^4";
default:
return "Symbian";
}
#elif defined(Q_OS_BLACKBERRY)
return "Blackberry OS";
#elif defined(Q_OS_IOS)
return "iOS";
#elif defined(Q_OS_MACOS)
//TODO: QSysInfo version
return "macOS";
#elif defined(Q_OS_WIN)
switch (QSysInfo::windowsVersion()) {
case QSysInfo::WV_32s:
return "Windows 3.1 with Win32s";
case QSysInfo::WV_95:
return "Windows 95";
case QSysInfo::WV_98:
return "Windows 98";
case QSysInfo::WV_Me:
return "Windows Me";
case QSysInfo::WV_NT:
return "Windows NT";
case QSysInfo::WV_2000:
return "Windows 2000";
case QSysInfo::WV_XP:
return "Windows XP";
case QSysInfo::WV_2003:
return "Windows 2003";
case QSysInfo::WV_VISTA:
return "Windows Vista";
case QSysInfo::WV_WINDOWS7:
return "Windows 7";
case QSysInfo::WV_CE:
return "Windows CE";
case QSysInfo::WV_CENET:
return "Windows CE .NET";
case QSysInfo::WV_CE_5:
return "Windows CE 5";
case QSysInfo::WV_CE_6:
return "Windows CE 6";
default:
#ifdef defined(Q_OS_WINCE)
return "Windows CE";
#else
return "Windows";
#endif
}
#elif defined(Q_OS_LINUX)
return "Linux";
#elif defined(Q_OS_UNIX)
return "Unix";
#else
//TODO: more systems macros
return "Unknown";
#endif
}