X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2Fhelpers%2FUserAgentHelper.cpp;h=2aa498b565edb1d6223dedc294d2a64d3d47e609;hp=9a51f227679962cbd6588b8fa6bb61de6c822835;hb=06a69a2d38bf73c0c5219f94c345b19142bb1646;hpb=2e5db0d355267f5823610100947970af12ca6342 diff --git a/src/helpers/UserAgentHelper.cpp b/src/helpers/UserAgentHelper.cpp index 9a51f22..2aa498b 100644 --- a/src/helpers/UserAgentHelper.cpp +++ b/src/helpers/UserAgentHelper.cpp @@ -1,5 +1,5 @@ /* - * Copyright © 2022 Soren Stoutner . + * Copyright 2022 Soren Stoutner . * * This file is part of Privacy Browser PC . * @@ -20,44 +20,44 @@ // Application headers. #include "Settings.h" #include "UserAgentHelper.h" -#include "views/BrowserView.h" +#include "widgets/TabWidget.h" // KDE Framework headers. #include // Define the public database constants. -const QString UserAgentHelper::SYSTEM_DEFAULT_DATABASE = QStringLiteral("System Default"); -const QString UserAgentHelper::PRIVACY_BROWSER_DATABASE = QStringLiteral("Privacy Browser"); -const QString UserAgentHelper::WEB_ENGINE_DEFAULT_DATABASE = QStringLiteral("WebEngine Default"); -const QString UserAgentHelper::FIREFOX_LINUX_DATABASE = QStringLiteral("Firefox Linux"); -const QString UserAgentHelper::CHROMIUM_LINUX_DATABASE = QStringLiteral("Chromium Linux"); -const QString UserAgentHelper::FIREFOX_WINDOWS_DATABASE = QStringLiteral("Firefox Windows"); -const QString UserAgentHelper::CHROME_WINDOWS_DATABASE = QStringLiteral("Chrome Windows"); -const QString UserAgentHelper::EDGE_WINDOWS_DATABASE = QStringLiteral("Edge Windows"); -const QString UserAgentHelper::SAFARI_MACOS_DATABASE = QStringLiteral("Safari macOS"); - -// Define the public translated constants. -const QString UserAgentHelper::SYSTEM_DEFAULT_TRANSLATED = i18n("System default"); -const QString UserAgentHelper::PRIVACY_BROWSER_TRANSLATED = i18n("Privacy Browser"); -const QString UserAgentHelper::WEB_ENGINE_DEFAULT_TRANSLATED = i18n("WebEngine default"); -const QString UserAgentHelper::FIREFOX_LINUX_TRANSLATED = i18n("Firefox on Linux"); -const QString UserAgentHelper::CHROMIUM_LINUX_TRANSLATED = i18n("Chromium on Linux"); -const QString UserAgentHelper::FIREFOX_WINDOWS_TRANSLATED = i18n("Firefox on Windows"); -const QString UserAgentHelper::CHROME_WINDOWS_TRANSLATED = i18n("Chrome on Windows"); -const QString UserAgentHelper::EDGE_WINDOWS_TRANSLATED = i18n("Edge on Windows"); -const QString UserAgentHelper::SAFARI_MACOS_TRANSLATED = i18n("Safari on macOS"); +const QString UserAgentHelper::SYSTEM_DEFAULT_DATABASE = QLatin1String("System Default"); +const QString UserAgentHelper::PRIVACY_BROWSER_DATABASE = QLatin1String("Privacy Browser"); +const QString UserAgentHelper::WEB_ENGINE_DEFAULT_DATABASE = QLatin1String("WebEngine Default"); +const QString UserAgentHelper::FIREFOX_LINUX_DATABASE = QLatin1String("Firefox Linux"); +const QString UserAgentHelper::CHROMIUM_LINUX_DATABASE = QLatin1String("Chromium Linux"); +const QString UserAgentHelper::FIREFOX_WINDOWS_DATABASE = QLatin1String("Firefox Windows"); +const QString UserAgentHelper::CHROME_WINDOWS_DATABASE = QLatin1String("Chrome Windows"); +const QString UserAgentHelper::EDGE_WINDOWS_DATABASE = QLatin1String("Edge Windows"); +const QString UserAgentHelper::SAFARI_MACOS_DATABASE = QLatin1String("Safari macOS"); // Define the public user agent constants. -const QString UserAgentHelper::PRIVACY_BROWSER_USER_AGENT = QStringLiteral("PrivacyBrowser/1.0"); -const QString UserAgentHelper::FIREFOX_LINUX_USER_AGENT = QStringLiteral("Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0"); -const QString UserAgentHelper::CHROMIUM_LINUX_USER_AGENT = QStringLiteral("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"); -const QString UserAgentHelper::FIREFOX_WINDOWS_USER_AGENT = QStringLiteral("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0"); -const QString UserAgentHelper::CHROME_WINDOWS_USER_AGENT = QStringLiteral("Mozilla/5.0 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36"); -const QString UserAgentHelper::EDGE_WINDOWS_USER_AGENT = QStringLiteral("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56"); -const QString UserAgentHelper::SAFARI_MACOS_USER_AGENT = QStringLiteral("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15"); +const QString UserAgentHelper::PRIVACY_BROWSER_USER_AGENT = QLatin1String("PrivacyBrowser/1.0"); +const QString UserAgentHelper::FIREFOX_LINUX_USER_AGENT = QLatin1String("Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"); +const QString UserAgentHelper::CHROMIUM_LINUX_USER_AGENT = QLatin1String("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"); +const QString UserAgentHelper::FIREFOX_WINDOWS_USER_AGENT = QLatin1String("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0"); +const QString UserAgentHelper::CHROME_WINDOWS_USER_AGENT = QLatin1String("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"); +const QString UserAgentHelper::EDGE_WINDOWS_USER_AGENT = QLatin1String("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54"); +const QString UserAgentHelper::SAFARI_MACOS_USER_AGENT = QLatin1String("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Safari/605.1.15"); -// The default constructor. -UserAgentHelper::UserAgentHelper() {}; +// Construct the class. +UserAgentHelper::UserAgentHelper() { + // Populate the translated user agents. Translated entries cannot be public static const. + SYSTEM_DEFAULT_TRANSLATED = i18nc("User agents", "System default"); + PRIVACY_BROWSER_TRANSLATED = i18nc("User agents", "Privacy Browser"); + WEB_ENGINE_DEFAULT_TRANSLATED = i18nc("User agents", "WebEngine default"); + FIREFOX_LINUX_TRANSLATED = i18nc("User agents", "Firefox on Linux"); + CHROMIUM_LINUX_TRANSLATED = i18nc("User agents", "Chromium on Linux"); + FIREFOX_WINDOWS_TRANSLATED = i18nc("User agents", "Firefox on Windows"); + CHROME_WINDOWS_TRANSLATED = i18nc("User agents", "Chrome on Windows"); + EDGE_WINDOWS_TRANSLATED = i18nc("User agents", "Edge on Windows"); + SAFARI_MACOS_TRANSLATED = i18nc("User agents", "Safari on macOS"); +}; QString UserAgentHelper::getDatabaseUserAgentNameFromTranslatedName(const QString &translatedUserAgentName) { @@ -92,7 +92,7 @@ int UserAgentHelper::getDomainSettingsUserAgentIndex(const QString &userAgentNam QString UserAgentHelper::getUserAgentFromDatabaseName(const QString &userAgentDatabaseName) { if (userAgentDatabaseName == PRIVACY_BROWSER_DATABASE) return PRIVACY_BROWSER_USER_AGENT; // Privacy Browser. - else if (userAgentDatabaseName == WEB_ENGINE_DEFAULT_DATABASE) return BrowserView::webEngineDefaultUserAgent; // WebEngine default. + else if (userAgentDatabaseName == WEB_ENGINE_DEFAULT_DATABASE) return TabWidget::webEngineDefaultUserAgent; // WebEngine default. else if (userAgentDatabaseName == FIREFOX_LINUX_DATABASE) return FIREFOX_LINUX_USER_AGENT; // Firefox Linux. else if (userAgentDatabaseName == CHROMIUM_LINUX_DATABASE) return CHROMIUM_LINUX_USER_AGENT; // Chromium Linux. else if (userAgentDatabaseName == FIREFOX_WINDOWS_DATABASE) return FIREFOX_WINDOWS_USER_AGENT; // Firefox Windows. @@ -105,7 +105,7 @@ QString UserAgentHelper::getUserAgentFromDatabaseName(const QString &userAgentDa QString UserAgentHelper::getUserAgentFromTranslatedName(const QString &userAgentTranslatedName) { if (userAgentTranslatedName == PRIVACY_BROWSER_TRANSLATED) return PRIVACY_BROWSER_USER_AGENT; // Privacy Browser. - else if (userAgentTranslatedName == WEB_ENGINE_DEFAULT_TRANSLATED) return BrowserView::webEngineDefaultUserAgent; // WebEngine default. + else if (userAgentTranslatedName == WEB_ENGINE_DEFAULT_TRANSLATED) return TabWidget::webEngineDefaultUserAgent; // WebEngine default. else if (userAgentTranslatedName == FIREFOX_LINUX_TRANSLATED) return FIREFOX_LINUX_USER_AGENT; // Firefox on Linux. else if (userAgentTranslatedName == CHROMIUM_LINUX_TRANSLATED) return CHROMIUM_LINUX_USER_AGENT; // Chromium on Linux. else if (userAgentTranslatedName == FIREFOX_WINDOWS_TRANSLATED) return FIREFOX_WINDOWS_USER_AGENT; // Firefox on Windows.