| 1358 | } |
| 1359 | |
| 1360 | static inline QString getPlatformName() |
| 1361 | { |
| 1362 | #if defined(Q_OS_MAC) |
| 1363 | QString result = QLatin1String("Mac OS"); |
| 1364 | if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_0) |
| 1365 | result += QLatin1String(" 10.") + QString::number(QSysInfo::MacintoshVersion - QSysInfo::MV_10_0); |
| 1366 | return result; |
| 1367 | #elif defined(Q_OS_UNIX) |
| 1368 | QFile osReleaseFile(QLatin1String("/etc/os-release")); // Newer Linuxes |
| 1369 | if (osReleaseFile.open(QIODevice::ReadOnly)) { |
| 1370 | QString name; |
| 1371 | QString version; |
| 1372 | forever { |
| 1373 | const QByteArray line = osReleaseFile.readLine(); |
| 1374 | if (line.isEmpty()) |
| 1375 | break; |
| 1376 | if (line.startsWith("NAME=\"")) |
| 1377 | name = QString::fromLatin1(line.mid(6, line.size() - 8)).trimmed(); |
| 1378 | if (line.startsWith("VERSION_ID=\"")) |
| 1379 | version = QString::fromLatin1(line.mid(12, line.size() - 14)).trimmed(); |
| 1380 | } |
| 1381 | if (!name.isEmpty()) { |
| 1382 | if (!version.isEmpty()) |
| 1383 | name += QLatin1Char(' ') + version; |
| 1384 | return name; |
| 1385 | } |
| 1386 | } |
| 1387 | QFile issueFile(QLatin1String("/etc/issue")); // Older Linuxes |
| 1388 | if (issueFile.open(QIODevice::ReadOnly)) { |
| 1389 | QByteArray issue = issueFile.readAll(); |
| 1390 | const int end = issue.lastIndexOf(" \\n"); |
| 1391 | if (end >= 0) |
| 1392 | issue.truncate(end); |
| 1393 | return QString::fromLatin1(issue).trimmed(); |
| 1394 | } |
| 1395 | # ifdef Q_OS_LINUX |
| 1396 | return QLatin1String("Linux"); |
| 1397 | # else |
| 1398 | return QLatin1String("Unix"); |
| 1399 | # endif // Q_OS_LINUX |
| 1400 | #elif defined(Q_OS_WIN) |
| 1401 | QString result = QLatin1String("Windows"); |
| 1402 | switch (QSysInfo::WindowsVersion) { |
| 1403 | case QSysInfo::WV_XP: |
| 1404 | result += QLatin1String(" XP"); |
| 1405 | break; |
| 1406 | case QSysInfo::WV_2003: |
| 1407 | result += QLatin1String(" 2003"); |
| 1408 | break; |
| 1409 | case QSysInfo::WV_VISTA: |
| 1410 | result += QLatin1String(" Vista"); |
| 1411 | break; |
| 1412 | case QSysInfo::WV_WINDOWS7: |
| 1413 | result += QLatin1String(" 7"); |
| 1414 | break; |
| 1415 | default: |
| 1416 | break; |
| 1417 | } |
no test coverage detected