]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/commitdiff
Add the currently selected User Agent and Search Engine to the text of the parent...
authorSoren Stoutner <soren@stoutner.com>
Mon, 6 Jun 2022 21:36:54 +0000 (14:36 -0700)
committerSoren Stoutner <soren@stoutner.com>
Mon, 6 Jun 2022 21:36:54 +0000 (14:36 -0700)
src/ui.rcs/browser_ui.rc
src/views/BrowserView.cpp
src/windows/BrowserWindow.cpp
src/windows/BrowserWindow.h

index 2f77d1c823d906bfe295ee1e43439d0e311d403c..0526147e871d702141899ae8cad7cc3458331db8 100644 (file)
@@ -31,7 +31,7 @@
     <MenuBar>
         <!-- On-the-fly Settings. -->
         <Menu name="on_the_fly_settings"> <text>On-The-Fly Settings</text>
-            <Menu name="user_agent" icon="user-group-properties"> <text>User Agent</text>
+            <Menu name="user_agent" icon="user-group-properties">
                 <Action name="user_agent_privacy_browser" />
                 <Action name="user_agent_webengine_default" />
                 <Action name="user_agent_firefox_linux" />
@@ -47,7 +47,7 @@
 
             <Separator />
 
-            <Menu name="search_engine" icon="search"> <text>Search Engine</text>
+            <Menu name="search_engine" icon="search">
                 <Action name="search_engine_mojeek" />
                 <Action name="search_engine_monocles" />
                 <Action name="search_engine_metager" />
index ef69db4f784002bcd01978b62981533645b4e681..09afd60f44971e257cb3bcacdca7159715f318d9 100644 (file)
@@ -394,6 +394,9 @@ void BrowserView::applyOnTheFlySearchEngine(QAction *searchEngineActionPointer)
 
     // Store the search engine string.
     searchEngineUrl = SearchEngineHelper::getSearchUrl(searchEngineName);
+
+    // Update the search engine actionas.
+    emit updateSearchEngineActions(searchEngineName);
 }
 
 void BrowserView::applyOnTheFlyUserAgent(QAction *userAgentActionPointer) const
@@ -407,6 +410,9 @@ void BrowserView::applyOnTheFlyUserAgent(QAction *userAgentActionPointer) const
     // Apply the user agent.
     webEngineProfilePointer->setHttpUserAgent(UserAgentHelper::getUserAgentFromTranslatedName(userAgentName));
 
+    // Update the user agent actions.
+    emit updateUserAgentActions(webEngineProfilePointer->httpUserAgent());
+
     // Reload the website.
     webEngineViewPointer->reload();
 }
index 4a61438f1f8a9402d567a83beed3330a27199a90..15b683e77f114e7342e11e5c7ea926631384f1ce 100644 (file)
@@ -35,6 +35,7 @@
 // Qt toolkit headers.
 #include <QInputDialog>
 #include <QNetworkCookie>
+#include <QMenuBar>
 #include <QStatusBar>
 
 // Construct the class.
@@ -202,6 +203,22 @@ BrowserWindow::BrowserWindow() : KXmlGuiWindow()
     // Setup the GUI based on the browser_ui.rc file.
     setupGUI(StandardWindowOption::Default, ("browser_ui.rc"));
 
+    // Get lists of the actions' associated widgets.
+    QList<QWidget*> userAgentAssociatedWidgetsPointerList = userAgentPrivacyBrowserActionPointer->associatedWidgets();
+    QList<QWidget*> searchEngineAssociatedWidgetsPointerList = searchEngineMojeekActionPointer->associatedWidgets();
+
+    // Get the menu widget pointers.  It is the second entry, after the main window.
+    QWidget *userAgentMenuWidgetPointer = userAgentAssociatedWidgetsPointerList[1];
+    QWidget *searchEngineMenuWidgetPointer = searchEngineAssociatedWidgetsPointerList[1];
+
+    // Get the menu pointers.
+    QMenu *userAgentMenuPointer = qobject_cast<QMenu*>(userAgentMenuWidgetPointer);
+    QMenu *searchEngineMenuPointer = qobject_cast<QMenu*>(searchEngineMenuWidgetPointer);
+
+    // Get the menu actions.
+    userAgentMenuActionPointer = userAgentMenuPointer->menuAction();
+    searchEngineMenuActionPointer = searchEngineMenuPointer->menuAction();
+
     // Get a handle for the URL toolbar.
     KToolBar *urlToolBarPointer = toolBar(QStringLiteral("url_toolbar"));
 
@@ -610,33 +627,60 @@ void BrowserWindow::updateSearchEngineActions(const QString &searchEngine) const
 
     if (searchEngine == "Mojeek")  // Mojeek.
     {
+        // Check the Mojeek user agent action.
         searchEngineMojeekActionPointer->setChecked(true);
+
+        // Update the search engine menu action text.
+        searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Mojeek"));
     }
     else if (searchEngine == "Monocles")  // Monocles.
     {
+        // Check the Monocles user agent action.
         searchEngineMonoclesActionPointer->setChecked(true);
+
+        // Update the search engine menu action text.
+        searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Monocles"));
     }
     else if (searchEngine == "MetaGer")  // MetaGer.
     {
+        // Check the MetaGer user agent action.
         searchEngineMetagerActionPointer->setChecked(true);
+
+        // Update the search engine menu action text.
+        searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - MetaGer"));
     }
     else if (searchEngine == "Google")  // Google.
     {
+        // Check the Google user agent action.
         searchEngineGoogleActionPointer->setChecked(true);
+
+        // Update the search engine menu action text.
+        searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Google"));
     }
     else if (searchEngine == "Bing")  // Bing.
     {
+        // Check the Bing user agent action.
         searchEngineBingActionPointer->setChecked(true);
+
+        // Update the search engine menu action text.
+        searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Bing"));
     }
     else if (searchEngine == "Yahoo")  // Yahoo.
     {
+        // Check the Yahoo user agent action.
         searchEngineYahooActionPointer->setChecked(true);
+
+        // Update the search engine menu action text.
+        searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Yahoo"));
     }
     else  // Custom search engine.
     {
         // Check the user agent.
         searchEngineCustomActionPointer->setChecked(true);
 
+        // Update the search engine menu action text.
+        searchEngineMenuActionPointer->setText(i18nc("The main search engine menu action", "Search Engine - Custom"));
+
         // Set the custom search engine flag.
         customSearchEngine = true;
     }
@@ -666,19 +710,78 @@ void BrowserWindow::updateUserAgentActions(const QString &userAgent) const
     bool customUserAgent = false;
 
     // Check the indicated on-the-fly user agent.
-    if (userAgent == UserAgentHelper::PRIVACY_BROWSER_USER_AGENT) userAgentPrivacyBrowserActionPointer->setChecked(true);  // Privacy Browser.
-    else if (userAgent == BrowserView::webEngineDefaultUserAgent) userAgentWebEngineDefaultActionPointer->setChecked(true);  // WebEngine default.
-    else if (userAgent == UserAgentHelper::FIREFOX_LINUX_USER_AGENT) userAgentFirefoxLinuxActionPointer->setChecked(true);  // Firefox Linux.
-    else if (userAgent == UserAgentHelper::CHROMIUM_LINUX_USER_AGENT) userAgentChromiumLinuxActionPointer->setChecked(true);  // Chromium Linux.
-    else if (userAgent == UserAgentHelper::FIREFOX_WINDOWS_USER_AGENT) userAgentFirefoxWindowsActionPointer->setChecked(true);  // Firefox Windows.
-    else if (userAgent == UserAgentHelper::CHROME_WINDOWS_USER_AGENT) userAgentChromeWindowsActionPointer->setChecked(true);  // Chrome Windows.
-    else if (userAgent == UserAgentHelper::EDGE_WINDOWS_USER_AGENT) userAgentEdgeWindowsActionPointer->setChecked(true);  // Edge Windows.
-    else if (userAgent == UserAgentHelper::SAFARI_MACOS_USER_AGENT) userAgentSafariMacosActionPointer->setChecked(true);  // Safara macOS.
+    if (userAgent == UserAgentHelper::PRIVACY_BROWSER_USER_AGENT)  // Privacy Browser.
+    {
+        // Check the Privacy Browser user agent action.
+        userAgentPrivacyBrowserActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Privacy Browser"));
+    }
+    else if (userAgent == BrowserView::webEngineDefaultUserAgent)  // WebEngine default.
+    {
+        // check the WebEngine default user agent action.
+        userAgentWebEngineDefaultActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - WebEngine default"));
+    }
+    else if (userAgent == UserAgentHelper::FIREFOX_LINUX_USER_AGENT)  // Firefox on Linux.
+    {
+        // Check the Firefox on Linux user agent action.
+        userAgentFirefoxLinuxActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Firefox on Linux"));
+    }
+    else if (userAgent == UserAgentHelper::CHROMIUM_LINUX_USER_AGENT)  // Chromium on Linux.
+    {
+        // Check the Chromium on Linux user agent action.
+        userAgentChromiumLinuxActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Chromium on Linux"));
+    }
+    else if (userAgent == UserAgentHelper::FIREFOX_WINDOWS_USER_AGENT)  // Firefox on Windows.
+    {
+        // Check the Firefox on Windows user agent action.
+        userAgentFirefoxWindowsActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Firefox on Windows"));
+    }
+    else if (userAgent == UserAgentHelper::CHROME_WINDOWS_USER_AGENT)  // Chrome on Windows.
+    {
+        // Check the Chrome on Windows user agent action.
+        userAgentChromeWindowsActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Chrome on Windows"));
+    }
+    else if (userAgent == UserAgentHelper::EDGE_WINDOWS_USER_AGENT)  // Edge on Windows.
+    {
+        // Check the Edge on Windows user agent action.
+        userAgentEdgeWindowsActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Edge on Windows"));
+    }
+    else if (userAgent == UserAgentHelper::SAFARI_MACOS_USER_AGENT)  // Safari on macOS.
+    {
+        // Check the Safari on macOS user agent action.
+        userAgentSafariMacosActionPointer->setChecked(true);
+
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Safari on macOS"));
+    }
     else  // Custom user agent.
     {
         // Check the user agent.
         userAgentCustomActionPointer->setChecked(true);
 
+        // Update the user agent menu action text.
+        userAgentMenuActionPointer->setText(i18nc("The main user agent menu action", "User Agent - Custom"));
+
         // Set the custom user agent flag.
         customUserAgent = true;
     }
index 0239a4e07bc85e70773ca9fa7768490e2d7044c8..9e5ecfe2858c09def25dd2c5ee5429841216faef 100644 (file)
@@ -95,6 +95,7 @@ private:
     QPalette noDomainSettingsPalette;
     QProgressBar *progressBarPointer;
     QLabel *searchEngineLabelPointer;
+    QAction *searchEngineMenuActionPointer;
     QAction *searchEngineMojeekActionPointer;
     QAction *searchEngineMonoclesActionPointer;
     QAction *searchEngineMetagerActionPointer;
@@ -103,6 +104,7 @@ private:
     QAction *searchEngineYahooActionPointer;
     QAction *searchEngineCustomActionPointer;
     QLabel *userAgentLabelPointer;
+    QAction *userAgentMenuActionPointer;
     QAction *userAgentPrivacyBrowserActionPointer;
     QAction *userAgentWebEngineDefaultActionPointer;
     QAction *userAgentFirefoxLinuxActionPointer;