diff options
-rw-r--r-- | core/qthelper.cpp | 18 | ||||
-rw-r--r-- | core/subsurfacesysinfo.cpp | 71 | ||||
-rw-r--r-- | core/subsurfacesysinfo.h | 55 | ||||
-rw-r--r-- | core/windows.c | 3 |
4 files changed, 26 insertions, 121 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp index 1dacbab38..5e375997a 100644 --- a/core/qthelper.cpp +++ b/core/qthelper.cpp @@ -8,7 +8,6 @@ #include "gettextfromc.h" #include "statistics.h" #include "membuffer.h" -#include "subsurfacesysinfo.h" #include "version.h" #include "errorhelper.h" #include "planner.h" @@ -40,6 +39,9 @@ #include <QProgressDialog> // TODO: remove with convertThumbnails() #include <cstdarg> #include <cstdint> +#ifdef Q_OS_UNIX +#include <sys/utsname.h> +#endif #include <libxslt/documents.h> @@ -420,11 +422,19 @@ QString getUserAgent() #else QString userAgent = QString("Subsurface:%1:").arg(subsurface_canonical_version()); #endif - userAgent.append(SubsurfaceSysInfo::prettyOsName().replace(':', ' ') + ":"); - arch = SubsurfaceSysInfo::buildCpuArchitecture().replace(':', ' '); + QString prettyOsName = QSysInfo::prettyProductName(); +#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(Q_OS_ANDROID) + // QSysInfo::kernelType() returns lowercase ("linux" instead of "Linux") + struct utsname u; + if (uname(&u) == 0) + prettyOsName = QString::fromLatin1(u.sysname) + QLatin1String(" (") + prettyOsName + QLatin1Char(')'); +#endif + + userAgent.append(prettyOsName.replace(':', ' ') + ":"); + arch = QSysInfo::buildCpuArchitecture().replace(':', ' '); userAgent.append(arch); if (arch == "i386") - userAgent.append("/" + SubsurfaceSysInfo::currentCpuArchitecture()); + userAgent.append("/" + QSysInfo::currentCpuArchitecture()); userAgent.append(":" + getUiLanguage()); return userAgent; diff --git a/core/subsurfacesysinfo.cpp b/core/subsurfacesysinfo.cpp index 6771a61c4..7cad562b8 100644 --- a/core/subsurfacesysinfo.cpp +++ b/core/subsurfacesysinfo.cpp @@ -1,73 +1,10 @@ // SPDX-License-Identifier: LGPL-2.1+ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Copyright (C) 2014 Intel Corporation -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - #include "subsurfacesysinfo.h" -#include <QString> - -#ifdef Q_OS_UNIX -#include <sys/utsname.h> -#endif - -QString SubsurfaceSysInfo::prettyOsName() -{ - // Matches the pre-release version of Qt 5.4 - QString pretty = prettyProductName(); -#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(Q_OS_ANDROID) - // QSysInfo::kernelType() returns lowercase ("linux" instead of "Linux") - struct utsname u; - if (uname(&u) == 0) - return QString::fromLatin1(u.sysname) + QLatin1String(" (") + pretty + QLatin1Char(')'); -#endif - return pretty; -} +#include <QSysInfo> -extern "C" { -bool isWin7Or8() -{ #ifdef Q_OS_WIN +extern "C" bool isWin7Or8() +{ return (QSysInfo::WindowsVersion & QSysInfo::WV_NT_based) >= QSysInfo::WV_WINDOWS7; -#else - return false; -#endif -} } +#endif diff --git a/core/subsurfacesysinfo.h b/core/subsurfacesysinfo.h index 6d195b7d9..a608239b3 100644 --- a/core/subsurfacesysinfo.h +++ b/core/subsurfacesysinfo.h @@ -1,55 +1,14 @@ -// SPDX-License-Identifier: LGPL-2.1+ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Copyright (C) 2014 Intel Corporation -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtCore module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - #ifndef SUBSURFACESYSINFO_H #define SUBSURFACESYSINFO_H -#include <QSysInfo> +#include <QtGlobal> -class SubsurfaceSysInfo : public QSysInfo { -public: - static QString prettyOsName(); -}; +#ifdef Q_OS_WIN +#ifdef __cplusplus +extern "C" +#endif +bool isWin7Or8(); +#endif #endif // SUBSURFACESYSINFO_H diff --git a/core/windows.c b/core/windows.c index 37f4d3a63..b770129c5 100644 --- a/core/windows.c +++ b/core/windows.c @@ -7,6 +7,7 @@ #include "display.h" #include "file.h" #include "errorhelper.h" +#include "subsurfacesysinfo.h" #undef _WIN32_WINNT #define _WIN32_WINNT 0x500 #include <windows.h> @@ -23,8 +24,6 @@ const char current_system_divelist_default_font[] = "Segoe UI"; const char *system_divelist_default_font = non_standard_system_divelist_default_font; double system_divelist_default_font_size = -1; -extern bool isWin7Or8(); - void subsurface_OS_pref_setup(void) { if (isWin7Or8()) |