X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fwindows%2FBrowserWindow.cpp;h=b5d062bb997f1863380c1d628ca6318968313cfb;hb=c8dd222118f460f3cbcd15678597c3a3f4f986b2;hp=fcca8e8f70351ef7c91b544ee524861b72ff9b1f;hpb=16a3a29abcc083de8a46a0e6e2dbed8dd6d896a5;p=PrivacyBrowserPC.git diff --git a/src/windows/BrowserWindow.cpp b/src/windows/BrowserWindow.cpp index fcca8e8..b5d062b 100644 --- a/src/windows/BrowserWindow.cpp +++ b/src/windows/BrowserWindow.cpp @@ -75,6 +75,7 @@ BrowserWindow::BrowserWindow(bool firstWindow) : KXmlGuiWindow() // Add the custom actions. QAction *newTabActionPointer = actionCollectionPointer->addAction(QLatin1String("new_tab")); QAction *newWindowActionPointer = actionCollectionPointer->addAction(QLatin1String("new_window")); + QAction *reloadAndBypassCacheActionPointer = actionCollectionPointer->addAction(QLatin1String("reload_and_bypass_cache")); userAgentPrivacyBrowserActionPointer = actionCollectionPointer->addAction(QLatin1String("user_agent_privacy_browser")); userAgentWebEngineDefaultActionPointer = actionCollectionPointer->addAction(QLatin1String("user_agent_webengine_default")); userAgentFirefoxLinuxActionPointer = actionCollectionPointer->addAction(QLatin1String("user_agent_firefox_linux")); @@ -150,6 +151,7 @@ BrowserWindow::BrowserWindow(bool firstWindow) : KXmlGuiWindow() // Set the action text. newTabActionPointer->setText(i18nc("New tab action", "New Tab")); newWindowActionPointer->setText(i18nc("New window action", "New Window")); + reloadAndBypassCacheActionPointer->setText(i18nc("Reload and bypass cache action", "Reload and Bypass Cache")); userAgentPrivacyBrowserActionPointer->setText(userAgentHelperPointer->PRIVACY_BROWSER_TRANSLATED); userAgentWebEngineDefaultActionPointer->setText(userAgentHelperPointer->WEB_ENGINE_DEFAULT_TRANSLATED); userAgentFirefoxLinuxActionPointer->setText(userAgentHelperPointer->FIREFOX_LINUX_TRANSLATED); @@ -172,35 +174,43 @@ BrowserWindow::BrowserWindow(bool firstWindow) : KXmlGuiWindow() findCaseSensitiveActionPointer->setText(i18nc("Find Case Sensitive action", "Find Case Sensitive")); hideFindTextActionPointer->setText(i18nc("Hide Find Text action", "Hide Find Text")); - // Set the action icons. + // Set the action icons. Gnome doesn't contain some of the icons that KDE has. + // The toolbar icons don't pick up unless the size is explicit, probably because the toolbar ends up being an intermediate size. newTabActionPointer->setIcon(QIcon::fromTheme(QLatin1String("tab-new"))); newWindowActionPointer->setIcon(QIcon::fromTheme(QLatin1String("window-new"))); - userAgentPrivacyBrowserActionPointer->setIcon(QIcon(":/icons/privacy-mode")); - userAgentWebEngineDefaultActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"))); - userAgentFirefoxLinuxActionPointer->setIcon(QIcon::fromTheme(QLatin1String("firefox-esr"))); - userAgentChromiumLinuxActionPointer->setIcon(QIcon::fromTheme(QLatin1String("chromium"))); - userAgentFirefoxWindowsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("firefox-esr"))); - userAgentChromeWindowsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("chromium"))); - userAgentEdgeWindowsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"))); - userAgentSafariMacosActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"))); - userAgentCustomActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"))); - searchEngineMojeekActionPointer->setIcon(QIcon::fromTheme(QLatin1String("search"))); - searchEngineMonoclesActionPointer->setIcon(QIcon::fromTheme(QLatin1String("search"))); - searchEngineMetagerActionPointer->setIcon(QIcon::fromTheme(QLatin1String("search"))); - searchEngineGoogleActionPointer->setIcon(QIcon::fromTheme(QLatin1String("im-google"))); - searchEngineBingActionPointer->setIcon(QIcon::fromTheme(QLatin1String("search"))); - searchEngineYahooActionPointer->setIcon(QIcon::fromTheme(QLatin1String("im-yahoo"))); - searchEngineCustomActionPointer->setIcon(QIcon::fromTheme(QLatin1String("search"))); - zoomFactorActionPointer->setIcon(QIcon::fromTheme(QLatin1String("zoom"))); - domainSettingsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("settings-configure"))); - cookiesActionPointer->setIcon(QIcon::fromTheme(QLatin1String("preferences-web-browser-cookies"))); - domStorageActionPointer->setIcon(QIcon::fromTheme(QLatin1String("code-class"))); - findCaseSensitiveActionPointer->setIcon(QIcon::fromTheme(QLatin1String("format-text-lowercase"))); + reloadAndBypassCacheActionPointer->setIcon(QIcon::fromTheme(QLatin1String("view-refresh"))); + userAgentPrivacyBrowserActionPointer->setIcon(QIcon(":/icons/privacy-mode.svg")); + userAgentWebEngineDefaultActionPointer->setIcon(QIcon::fromTheme(QLatin1String("qtlogo"), QIcon::fromTheme(QLatin1String("user-group-properties"), + QIcon::fromTheme(QLatin1String("contact-new"))))); + userAgentFirefoxLinuxActionPointer->setIcon(QIcon::fromTheme(QLatin1String("firefox-esr"), QIcon::fromTheme(QLatin1String("user-group-properties"), + QIcon::fromTheme(QLatin1String("contact-new"))))); + userAgentChromiumLinuxActionPointer->setIcon(QIcon::fromTheme(QLatin1String("chromium"), QIcon::fromTheme(QLatin1String("user-group-properties"), + QIcon::fromTheme(QLatin1String("contact-new"))))); + userAgentFirefoxWindowsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("firefox-esr"), QIcon::fromTheme(QLatin1String("user-group-properties"), + QIcon::fromTheme(QLatin1String("contact-new"))))); + userAgentChromeWindowsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("chromium"), QIcon::fromTheme(QLatin1String("user-group-properties"), + QIcon::fromTheme(QLatin1String("contact-new"))))); + userAgentEdgeWindowsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new")))); + userAgentSafariMacosActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new")))); + userAgentCustomActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new")))); + searchEngineMojeekActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + searchEngineMonoclesActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + searchEngineMetagerActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + searchEngineGoogleActionPointer->setIcon(QIcon::fromTheme(QLatin1String("im-google"), QIcon::fromTheme(QLatin1String("edit-find")))); + searchEngineBingActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + searchEngineYahooActionPointer->setIcon(QIcon::fromTheme(QLatin1String("im-yahoo"), QIcon::fromTheme(QLatin1String("edit-find")))); + searchEngineCustomActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + zoomFactorActionPointer->setIcon(QIcon::fromTheme(QLatin1String("zoom-fit-best"))); + domainSettingsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("settings-configure"), QIcon::fromTheme(QLatin1String("preferences-desktop")))); + cookiesActionPointer->setIcon(QIcon::fromTheme(QLatin1String("preferences-web-browser-cookies"), QIcon::fromTheme(QLatin1String("appointment-new")))); + domStorageActionPointer->setIcon(QIcon::fromTheme(QLatin1String("code-class"), QIcon(QLatin1String("/usr/share/icons/gnome/32x32/actions/gtk-unindent-ltr.png")))); + findCaseSensitiveActionPointer->setIcon(QIcon::fromTheme(QLatin1String("format-text-lowercase"), QIcon::fromTheme(QLatin1String("/usr/share/icons/gnome/32x32/apps/fonts.png")))); hideFindTextActionPointer->setIcon(QIcon::fromTheme(QLatin1String("window-close-symbolic"))); // Create the key sequences. QKeySequence ctrlTKeySequence = QKeySequence(i18nc("The open new tab key sequence.", "Ctrl+T")); QKeySequence ctrlNKeySequence = QKeySequence(i18nc("The open new window key sequence.", "Ctrl+N")); + QKeySequence ctrlF5KeySequence = QKeySequence(i18nc("The reload and bypass cache key sequence.", "Ctrl+F5")); QKeySequence ctrlShiftPKeySequence = QKeySequence(i18nc("The print preview key sequence.", "Ctrl+Shift+P")); QKeySequence ctrlAltPKeySequence = QKeySequence(i18nc("The Privacy Browser user agent key sequence.", "Ctrl+Alt+P")); QKeySequence ctrlAltWKeySequence = QKeySequence(i18nc("The WebEngine Default user agent key sequence.", "Ctrl+Alt+W")); @@ -225,6 +235,7 @@ BrowserWindow::BrowserWindow(bool firstWindow) : KXmlGuiWindow() // Set the action key sequences. actionCollectionPointer->setDefaultShortcut(newTabActionPointer, ctrlTKeySequence); actionCollectionPointer->setDefaultShortcut(newWindowActionPointer, ctrlNKeySequence); + actionCollectionPointer->setDefaultShortcut(reloadAndBypassCacheActionPointer, ctrlF5KeySequence); actionCollectionPointer->setDefaultShortcut(printPreviewActionPointer, ctrlShiftPKeySequence); actionCollectionPointer->setDefaultShortcut(userAgentPrivacyBrowserActionPointer, ctrlAltPKeySequence); actionCollectionPointer->setDefaultShortcut(userAgentWebEngineDefaultActionPointer, ctrlAltWKeySequence); @@ -249,6 +260,7 @@ BrowserWindow::BrowserWindow(bool firstWindow) : KXmlGuiWindow() // Execute the actions. connect(newTabActionPointer, SIGNAL(triggered()), tabWidgetPointer, SLOT(addTab())); connect(newWindowActionPointer, SIGNAL(triggered()), this, SLOT(newWindow())); + connect(reloadAndBypassCacheActionPointer, SIGNAL(triggered()), this, SLOT(reloadAndBypassCache())); connect(zoomFactorActionPointer, SIGNAL(triggered()), this, SLOT(getZoomFactorFromUser())); connect(cookiesActionPointer, SIGNAL(triggered()), this, SLOT(showCookiesDialog())); connect(domainSettingsActionPointer, SIGNAL(triggered()), this, SLOT(showDomainSettingsDialog())); @@ -333,7 +345,8 @@ BrowserWindow::BrowserWindow(bool firstWindow) : KXmlGuiWindow() findTextLineEditPointer->setClearButtonEnabled(true); // Add an edit or add domain settings action to the URL line edit. - QAction *addOrEditDomainSettingsActionPointer = urlLineEditPointer->addAction(QIcon::fromTheme("settings-configure"), QLineEdit::TrailingPosition); + QAction *addOrEditDomainSettingsActionPointer = urlLineEditPointer->addAction(QIcon::fromTheme("settings-configure", QIcon::fromTheme(QLatin1String("preferences-desktop"))), + QLineEdit::TrailingPosition); // Add or edit the current domain settings. connect(addOrEditDomainSettingsActionPointer, SIGNAL(triggered()), this, SLOT(addOrEditDomainSettings())); @@ -451,17 +464,11 @@ void BrowserWindow::addOrEditDomainSettings() const domainSettingsDialogPointer = new DomainSettingsDialog(DomainSettingsDialog::EDIT_DOMAIN, currentDomainSettingsName); } - // Set the dialog window title. - domainSettingsDialogPointer->setWindowTitle(i18nc("The domain settings dialog title", "Domain Settings")); - - // Set the modality. - domainSettingsDialogPointer->setWindowModality(Qt::WindowModality::WindowModal);; + // Reload the tabs when domain settings are updated. + connect(domainSettingsDialogPointer, SIGNAL(domainSettingsUpdated()), tabWidgetPointer, SLOT(applyDomainSettingsAndReload())); // Show the dialog. domainSettingsDialogPointer->show(); - - // Reload the tabs when domain settings are updated. - connect(domainSettingsDialogPointer, SIGNAL(domainSettingsUpdated()), tabWidgetPointer, SLOT(applyDomainSettingsAndReload())); } void BrowserWindow::back() const @@ -628,6 +635,15 @@ void BrowserWindow::refresh() const tabWidgetPointer->refresh(); } +void BrowserWindow::reloadAndBypassCache() const +{ + // Remove the focus from the URL line edit. + urlLineEditPointer->clearFocus(); + + // Refresh the web page. + tabWidgetPointer->refresh(); +} + void BrowserWindow::showCookiesDialog() { // Remove the focus from the URL line edit. @@ -678,11 +694,11 @@ void BrowserWindow::showDomainSettingsDialog() const // Instantiate the domain settings dialog. DomainSettingsDialog *domainSettingsDialogPointer = new DomainSettingsDialog(); - // Show the dialog. - domainSettingsDialogPointer->show(); - // Reload the tabs when domain settings are updated. connect(domainSettingsDialogPointer, SIGNAL(domainSettingsUpdated()), tabWidgetPointer, SLOT(applyDomainSettingsAndReload())); + + // Show the dialog. + domainSettingsDialogPointer->show(); } void BrowserWindow::showFindTextActions() const @@ -788,9 +804,24 @@ void BrowserWindow::showSettingsDialog() // Instantiate a settings config dialog from the settings.kcfg file. configDialogPointer = new KConfigDialog(this, QLatin1String("settings"), kConfigSkeletonPointer); + // Create a settings icon string. + QString settingsIconString; + + // Get a settings icon that matches the theme. + if (QIcon::hasThemeIcon("breeze-settings")) + { + // KDE uses breeze-settings. + settingsIconString = QLatin1String("breeze-settings"); + } + else + { + // Gnome uses preferences-desktop. + settingsIconString = QLatin1String("preferences-desktop"); + } + // Add the settings widgets as config dialog pages. - configDialogPointer->addPage(privacySettingsWidgetPointer, i18nc("Settings tab title", "Privacy"), QLatin1String("privacy-browser")); - configDialogPointer->addPage(generalSettingsWidgetPointer, i18nc("Settings tab title", "General"), QLatin1String("breeze-settings")); + configDialogPointer->addPage(privacySettingsWidgetPointer, i18nc("Settings tab title", "Privacy"), QLatin1String("privacybrowser")); + configDialogPointer->addPage(generalSettingsWidgetPointer, i18nc("Settings tab title", "General"), settingsIconString); configDialogPointer->addPage(spellCheckSettingsWidgetPointer, i18nc("Settings tab title", "Spell Check"), QLatin1String("tools-check-spelling")); // Get handles for the buttons. @@ -1006,9 +1037,9 @@ void BrowserWindow::updateJavaScriptAction(const bool &isEnabled) // Set the icon according to the status. if (javaScriptEnabled) - javaScriptActionPointer->setIcon(QIcon(QStringLiteral(":/icons/javascript-warning"))); + javaScriptActionPointer->setIcon(QIcon(QLatin1String(":/icons/javascript-warning.svg"))); else - javaScriptActionPointer->setIcon(QIcon(QStringLiteral(":/icons/privacy-mode"))); + javaScriptActionPointer->setIcon(QIcon(QLatin1String(":/icons/privacy-mode.svg"))); // Set the action checked status. javaScriptActionPointer->setChecked(javaScriptEnabled); @@ -1022,11 +1053,11 @@ void BrowserWindow::updateLocalStorageAction(const bool &isEnabled) // Update the local storage status. localStorageEnabled = isEnabled; - // Update the icon. + // Update the icon. On Gnome, the toolbar icons don't pick up unless the size is explicit, probably because the toolbar ends up being an intermediate size. if (localStorageEnabled) - localStorageActionPointer->setIcon(QIcon::fromTheme(QStringLiteral("disk-quota-high"))); + localStorageActionPointer->setIcon(QIcon::fromTheme(QLatin1String("disk-quota-high"), QIcon(QLatin1String("/usr/share/icons/gnome/32x32/actions/document-save-as.png")))); else - localStorageActionPointer->setIcon(QIcon::fromTheme(QStringLiteral("disk-quota"))); + localStorageActionPointer->setIcon(QIcon::fromTheme(QLatin1String("disk-quota"), QIcon(QLatin1String("/usr/share/icons/gnome/32x32/apps/kfm.png")))); // Set the action checked status. localStorageActionPointer->setChecked(localStorageEnabled); @@ -1045,6 +1076,9 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine, const // Check the Mojeek user agent action. searchEngineMojeekActionPointer->setChecked(true); + // Update the search engine menu action icon. + searchEngineMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + // Update the search engine menu action text. searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Mojeek")); } @@ -1053,6 +1087,9 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine, const // Check the Monocles user agent action. searchEngineMonoclesActionPointer->setChecked(true); + // Update the search engine menu action icon. + searchEngineMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + // Update the search engine menu action text. searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Monocles")); } @@ -1061,6 +1098,9 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine, const // Check the MetaGer user agent action. searchEngineMetagerActionPointer->setChecked(true); + // Update the search engine menu action icon. + searchEngineMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + // Update the search engine menu action text. searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - MetaGer")); } @@ -1069,6 +1109,9 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine, const // Check the Google user agent action. searchEngineGoogleActionPointer->setChecked(true); + // Update the search engine menu action icon. + searchEngineMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("im-google"), QIcon::fromTheme(QLatin1String("edit-find")))); + // Update the search engine menu action text. searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Google")); } @@ -1077,6 +1120,9 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine, const // Check the Bing user agent action. searchEngineBingActionPointer->setChecked(true); + // Update the search engine menu action icon. + searchEngineMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + // Update the search engine menu action text. searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Bing")); } @@ -1085,6 +1131,9 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine, const // Check the Yahoo user agent action. searchEngineYahooActionPointer->setChecked(true); + // Update the search engine menu action icon. + searchEngineMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("im-yahoo"), QIcon::fromTheme(QLatin1String("edit-find")))); + // Update the search engine menu action text. searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Yahoo")); } @@ -1093,6 +1142,9 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine, const // Check the user agent. searchEngineCustomActionPointer->setChecked(true); + // Update the search engine menu action icon. + searchEngineMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); + // Update the search engine menu action text. searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Custom")); @@ -1134,6 +1186,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the Privacy Browser user agent action. userAgentPrivacyBrowserActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon(":/icons/privacy-mode.svg")); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Privacy Browser")); } @@ -1142,6 +1197,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // check the WebEngine default user agent action. userAgentWebEngineDefaultActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("qtlogo"), QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new"))))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - WebEngine default")); } @@ -1150,6 +1208,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the Firefox on Linux user agent action. userAgentFirefoxLinuxActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("firefox-esr"), QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new"))))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Firefox on Linux")); } @@ -1158,6 +1219,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the Chromium on Linux user agent action. userAgentChromiumLinuxActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("chromium"), QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new"))))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Chromium on Linux")); } @@ -1166,6 +1230,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the Firefox on Windows user agent action. userAgentFirefoxWindowsActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("firefox-esr"), QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new"))))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Firefox on Windows")); } @@ -1174,6 +1241,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the Chrome on Windows user agent action. userAgentChromeWindowsActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("chromium"), QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new"))))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Chrome on Windows")); } @@ -1182,6 +1252,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the Edge on Windows user agent action. userAgentEdgeWindowsActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new")))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Edge on Windows")); } @@ -1190,6 +1263,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the Safari on macOS user agent action. userAgentSafariMacosActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new")))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Safari on macOS")); } @@ -1198,6 +1274,9 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent, const bool // Check the user agent. userAgentCustomActionPointer->setChecked(true); + // Update the user agent menu action icon. + userAgentMenuActionPointer->setIcon(QIcon::fromTheme(QLatin1String("user-group-properties"), QIcon::fromTheme(QLatin1String("contact-new")))); + // Update the user agent menu action text. userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Custom"));