summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qoperatingsystemversion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/global/qoperatingsystemversion.cpp')
-rw-r--r--src/corelib/global/qoperatingsystemversion.cpp63
1 files changed, 40 insertions, 23 deletions
diff --git a/src/corelib/global/qoperatingsystemversion.cpp b/src/corelib/global/qoperatingsystemversion.cpp
index 61f64306e2..cca503ffae 100644
--- a/src/corelib/global/qoperatingsystemversion.cpp
+++ b/src/corelib/global/qoperatingsystemversion.cpp
@@ -38,6 +38,7 @@
****************************************************************************/
#include "qoperatingsystemversion.h"
+
#if !defined(Q_OS_DARWIN) && !defined(Q_OS_WIN)
#include "qoperatingsystemversion_p.h"
#endif
@@ -145,16 +146,19 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn QOperatingSystemVersion QOperatingSystemVersion::current()
-
Returns a QOperatingSystemVersion indicating the current OS and its version number.
\sa currentType()
*/
-#if !defined(Q_OS_DARWIN) && !defined(Q_OS_WIN)
QOperatingSystemVersion QOperatingSystemVersion::current()
{
- QOperatingSystemVersion version;
+ return QOperatingSystemVersionBase::current();
+}
+
+#if !defined(Q_OS_DARWIN) && !defined(Q_OS_WIN)
+QOperatingSystemVersionBase QOperatingSystemVersionBase::current()
+{
+ QOperatingSystemVersionBase version;
version.m_os = currentType();
#ifdef Q_OS_ANDROID
#ifndef QT_BOOTSTRAPPED
@@ -231,8 +235,8 @@ static inline int compareVersionComponents(int lhs, int rhs)
return lhs >= 0 && rhs >= 0 ? lhs - rhs : 0;
}
-int QOperatingSystemVersion::compare(const QOperatingSystemVersion &v1,
- const QOperatingSystemVersion &v2)
+int QOperatingSystemVersionBase::compare(QOperatingSystemVersionBase v1,
+ QOperatingSystemVersionBase v2)
{
if (v1.m_major == v2.m_major) {
if (v1.m_minor == v2.m_minor) {
@@ -243,6 +247,12 @@ int QOperatingSystemVersion::compare(const QOperatingSystemVersion &v1,
return compareVersionComponents(v1.m_major, v2.m_major);
}
+int QOperatingSystemVersion::compare(const QOperatingSystemVersion &v1,
+ const QOperatingSystemVersion &v2)
+{
+ return QOperatingSystemVersionBase::compare(v1, v2);
+}
+
/*!
\fn QVersionNumber QOperatingSystemVersion::version() const
@@ -331,30 +341,35 @@ int QOperatingSystemVersion::compare(const QOperatingSystemVersion &v1,
*/
QString QOperatingSystemVersion::name() const
{
- switch (type()) {
- case QOperatingSystemVersion::Windows:
+ return QOperatingSystemVersionBase::name();
+}
+
+QString QOperatingSystemVersionBase::name(QOperatingSystemVersionBase osversion)
+{
+ switch (osversion.type()) {
+ case QOperatingSystemVersionBase::Windows:
return QStringLiteral("Windows");
- case QOperatingSystemVersion::MacOS: {
- if (majorVersion() < 10)
+ case QOperatingSystemVersionBase::MacOS: {
+ if (osversion.majorVersion() < 10)
return QStringLiteral("Mac OS");
- if (majorVersion() == 10 && minorVersion() < 8)
+ if (osversion.majorVersion() == 10 && osversion.minorVersion() < 8)
return QStringLiteral("Mac OS X");
- if (majorVersion() == 10 && minorVersion() < 12)
+ if (osversion.majorVersion() == 10 && osversion.minorVersion() < 12)
return QStringLiteral("OS X");
return QStringLiteral("macOS");
}
- case QOperatingSystemVersion::IOS: {
- if (majorVersion() < 4)
+ case QOperatingSystemVersionBase::IOS: {
+ if (osversion.majorVersion() < 4)
return QStringLiteral("iPhone OS");
return QStringLiteral("iOS");
}
- case QOperatingSystemVersion::TvOS:
+ case QOperatingSystemVersionBase::TvOS:
return QStringLiteral("tvOS");
- case QOperatingSystemVersion::WatchOS:
+ case QOperatingSystemVersionBase::WatchOS:
return QStringLiteral("watchOS");
- case QOperatingSystemVersion::Android:
+ case QOperatingSystemVersionBase::Android:
return QStringLiteral("Android");
- case QOperatingSystemVersion::Unknown:
+ case QOperatingSystemVersionBase::Unknown:
default:
return QString();
}
@@ -368,11 +383,13 @@ QString QOperatingSystemVersion::name() const
*/
bool QOperatingSystemVersion::isAnyOfType(std::initializer_list<OSType> types) const
{
- for (const auto &t : qAsConst(types)) {
- if (type() == t)
- return true;
- }
- return false;
+ // ### Qt7: Remove this function
+ return std::find(types.begin(), types.end(), type()) != types.end();
+}
+
+bool QOperatingSystemVersionBase::isAnyOfType(std::initializer_list<OSType> types, OSType type)
+{
+ return std::find(types.begin(), types.end(), type) != types.end();
}
/*!