From e5de2a240356252384d0f610edebbc99715ab027 Mon Sep 17 00:00:00 2001 From: David Rosca Date: Tue, 14 Jun 2016 10:38:49 +0200 Subject: [PATCH] Update UA strings + add architecture to OS string --- src/lib/preferences/useragentdialog.cpp | 16 ++++++++----- src/lib/tools/qztools.cpp | 31 ++++++++++++++++++++++++- src/lib/tools/qztools.h | 3 ++- 3 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/lib/preferences/useragentdialog.cpp b/src/lib/preferences/useragentdialog.cpp index b4fc20b01..ee38c453d 100644 --- a/src/lib/preferences/useragentdialog.cpp +++ b/src/lib/preferences/useragentdialog.cpp @@ -1,6 +1,6 @@ /* ============================================================ * QupZilla - WebKit based browser -* Copyright (C) 2010-2014 David Rosca +* Copyright (C) 2010-2016 David Rosca * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,11 +37,15 @@ UserAgentDialog::UserAgentDialog(QWidget* parent) ui->globalComboBox->setLayoutDirection(Qt::LeftToRight); ui->table->setLayoutDirection(Qt::LeftToRight); - const QString os = QzTools::operatingSystem(); - m_knownUserAgents << QString("Opera/9.80 (%1) Presto/2.12.388 Version/12.16").arg(os) - << QString("Mozilla/5.0 (%1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36").arg(os) - << QString("Mozilla/5.0 (%1) AppleWebKit/537.51.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A").arg(os) - << QString("Mozilla/5.0 (%1; rv:42.0) Gecko/20100101 Firefox/42.0").arg(os); + const QString arch = QzTools::cpuArchitecture(); + QString platform = QzTools::operatingSystem(); + if (!arch.isEmpty()) + platform.append(QL1S(" ") + arch); + + m_knownUserAgents << QString("Opera/9.80 (%1) Presto/2.12.388 Version/12.16").arg(platform) + << QString("Mozilla/5.0 (%1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36").arg(platform) + << QString("Mozilla/5.0 (%1) AppleWebKit/601.2.7 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.7").arg(platform) + << QString("Mozilla/5.0 (%1; rv:47.0) Gecko/20100101 Firefox/47.0").arg(platform); ui->globalComboBox->addItems(m_knownUserAgents); diff --git a/src/lib/tools/qztools.cpp b/src/lib/tools/qztools.cpp index bc3940b86..0b5b3ec5e 100644 --- a/src/lib/tools/qztools.cpp +++ b/src/lib/tools/qztools.cpp @@ -1,6 +1,6 @@ /* ============================================================ * QupZilla - WebKit based browser -* Copyright (C) 2010-2014 David Rosca +* Copyright (C) 2010-2016 David Rosca * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -936,3 +936,32 @@ QString QzTools::operatingSystem() #endif } +QString QzTools::cpuArchitecture() +{ +#if defined(__x86_64__) || defined(_M_X64) + return QSL("x86_64"); +#endif +#if defined(_M_IX86) + return QSL("x86"); +#endif +#if defined(__i686__) + return QSL("i686"); +#endif +#if defined(__i586__) + return QSL("i586"); +#endif +#if defined(__i486__) + return QSL("i486"); +#endif +#if defined(__i386__) + return QSL("i386"); +#endif +#if defined(__aarch64__) + return QSL("arm64"); +#endif +#if defined(__arm__) || defined(_M_ARM) + return QSL("arm"); +#endif + return QString(); +} + diff --git a/src/lib/tools/qztools.h b/src/lib/tools/qztools.h index 57ed1d7a9..595d3aa88 100644 --- a/src/lib/tools/qztools.h +++ b/src/lib/tools/qztools.h @@ -1,6 +1,6 @@ /* ============================================================ * QupZilla - WebKit based browser -* Copyright (C) 2010-2014 David Rosca +* Copyright (C) 2010-2016 David Rosca * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -84,6 +84,7 @@ public: static QKeySequence actionShortcut(QKeySequence shortcut, QKeySequence fallBack, QKeySequence shortcutRtl = QKeySequence(), QKeySequence fallbackRtl = QKeySequence()); static QString operatingSystem(); + static QString cpuArchitecture(); static void setWmClass(const QString &name, const QWidget* widget);