X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fwindows%2FBrowserWindow.cpp;h=6df64f3ee95c558882c20d54f33dd1848712ae3b;hb=refs%2Fheads%2Fmaster;hp=fe3b5939e86ea73d157d4ee87adf7165c59e839d;hpb=c5706a6ff3fbc42418e60b79fbe3f5c19396f7d2;p=PrivacyBrowserPC.git diff --git a/src/windows/BrowserWindow.cpp b/src/windows/BrowserWindow.cpp index fe3b593..af050ef 100644 --- a/src/windows/BrowserWindow.cpp +++ b/src/windows/BrowserWindow.cpp @@ -1,7 +1,7 @@ /* * Copyright 2022-2024 Soren Stoutner . * - * This file is part of Privacy Browser PC . + * This file is part of Privacy Browser PC . * * Privacy Browser PC is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,17 +29,13 @@ #include "dialogs/DomainSettingsDialog.h" #include "dialogs/EditBookmarkDialog.h" #include "dialogs/EditFolderDialog.h" +#include "dialogs/FilterListsDialog.h" +#include "dialogs/RequestsDialog.h" #include "dialogs/SettingsDialog.h" #include "helpers/SearchEngineHelper.h" #include "helpers/UserAgentHelper.h" #include "structs/BookmarkStruct.h" -// KDE Frameworks headers. -#include -#include -#include -#include - // Qt toolkit headers. #include #include @@ -56,6 +52,12 @@ #include #include +// KDE Frameworks headers. +#include +#include +#include +#include + // Construct the class. BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) : KXmlGuiWindow() { @@ -119,6 +121,8 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) searchEngineBingActionPointer = actionCollectionPointer->addAction(QLatin1String("search_engine_bing")); searchEngineYahooActionPointer = actionCollectionPointer->addAction(QLatin1String("search_engine_yahoo")); searchEngineCustomActionPointer = actionCollectionPointer->addAction(QLatin1String("search_engine_custom")); + requestsActionPointer = actionCollectionPointer->addAction(QLatin1String("requests")); + QAction *viewFilterListsActionPointer = actionCollectionPointer->addAction(QLatin1String("view_filter_lists")); viewBookmarksToolBarActionPointer = actionCollectionPointer->addAction(QLatin1String("view_bookmarks_toolbar")); QAction *domainSettingsActionPointer = actionCollectionPointer->addAction(QLatin1String("domain_settings")); cookiesActionPointer = actionCollectionPointer->addAction(QLatin1String("cookies")); @@ -186,7 +190,7 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) viewSourceInNewTabActionPointer->setText(i18nc("View source in new tab action", "View Source in New Tab")); developerToolsActionPointer->setText(i18nc("Developer tools action", "Developer Tools")); javaScriptActionPointer->setText(i18nc("JavaScript action", "JavaScript")); - localStorageActionPointer->setText(i18nc("The Local Storage action", "Local Storage")); + localStorageActionPointer->setText(i18nc("Local Storage action", "Local Storage")); domStorageActionPointer->setText(i18nc("DOM Storage action", "DOM Storage")); userAgentPrivacyBrowserActionPointer->setText(userAgentHelperPointer->PRIVACY_BROWSER_TRANSLATED); userAgentWebEngineDefaultActionPointer->setText(userAgentHelperPointer->WEB_ENGINE_DEFAULT_TRANSLATED); @@ -202,6 +206,8 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) searchEngineGoogleActionPointer->setText(i18nc("Search engine", "Google")); searchEngineBingActionPointer->setText(i18nc("Search engine", "Bing")); searchEngineYahooActionPointer->setText(i18nc("Search engine", "Yahoo")); + requestsActionPointer->setText(i18nc("Requests action", "Requests - %1 Blocked", 0)); + viewFilterListsActionPointer->setText(i18nc("View filter lists action", "View Filter Lists")); viewBookmarksToolBarActionPointer->setText(i18nc("View bookmarks toolbar", "View Bookmarks Toolbar")); domainSettingsActionPointer->setText(i18nc("Domain Settings action", "Domain Settings")); cookiesActionPointer->setText(i18nc("The Cookies action, which also displays the number of cookies", "Cookies - %1", 0)); @@ -232,6 +238,7 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) 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")))); + zoomFactorActionPointer->setIcon(QIcon::fromTheme(QLatin1String("zoom-fit-best"))); searchEngineMojeekActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); searchEngineMonoclesActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); searchEngineMetagerActionPointer->setIcon(QIcon::fromTheme(QLatin1String("edit-find"))); @@ -239,7 +246,8 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) 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"))); + requestsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("document-equal"), QIcon::fromTheme(QLatin1String("system-lock-screen")))); + viewFilterListsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("view-list-text"), QIcon::fromTheme(QLatin1String("format-justify-left")))); editBookmarksActionPointer->setIcon(QIcon::fromTheme(QLatin1String("bookmark-edit"), QIcon::fromTheme(QLatin1String("bookmark-new")))); viewBookmarksToolBarActionPointer->setIcon(QIcon::fromTheme(QLatin1String("bookmarks"), QIcon::fromTheme(QLatin1String("bookmark-new")))); domainSettingsActionPointer->setIcon(QIcon::fromTheme(QLatin1String("settings-configure"), QIcon::fromTheme(QLatin1String("preferences-desktop")))); @@ -279,6 +287,8 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) QKeySequence ctrlShiftBKeySequence = QKeySequence(i18nc("The Bing search engine key sequence.", "Ctrl+Shift+B")); QKeySequence ctrlShiftYKeySequence = QKeySequence(i18nc("The Yahoo search engine key sequence.", "Ctrl+Shift+Y")); QKeySequence ctrlShiftCKeySequence = QKeySequence(i18nc("The custom search engine key sequence.", "Ctrl+Shift+C")); + QKeySequence ctrlRKeySequence = QKeySequence(i18nc("The requests key sequence.", "Ctrl+R")); + QKeySequence ctrlShiftLKeySequence = QKeySequence(i18nc("The view filter lists key sequence.", "Ctrl+Shift+L")); QKeySequence ctrlAltShiftBKeySequence = QKeySequence(i18nc("The edit bookmarks key sequence.", "Ctrl+Alt+Shift+B")); QKeySequence ctrlAltBKeySequence = QKeySequence(i18nc("The view bookmarks toolbar key sequence.", "Ctrl+Alt+B")); QKeySequence ctrlShiftDKeySequence = QKeySequence(i18nc("The domain settings key sequence.", "Ctrl+Shift+D")); @@ -316,6 +326,8 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) actionCollectionPointer->setDefaultShortcut(searchEngineBingActionPointer, ctrlShiftBKeySequence); actionCollectionPointer->setDefaultShortcut(searchEngineYahooActionPointer, ctrlShiftYKeySequence); actionCollectionPointer->setDefaultShortcut(searchEngineCustomActionPointer, ctrlShiftCKeySequence); + actionCollectionPointer->setDefaultShortcut(requestsActionPointer, ctrlRKeySequence); + actionCollectionPointer->setDefaultShortcut(viewFilterListsActionPointer, ctrlShiftLKeySequence); actionCollectionPointer->setDefaultShortcut(editBookmarksActionPointer, ctrlAltShiftBKeySequence); actionCollectionPointer->setDefaultShortcut(viewBookmarksToolBarActionPointer, ctrlAltBKeySequence); actionCollectionPointer->setDefaultShortcut(domainSettingsActionPointer, ctrlShiftDKeySequence); @@ -332,6 +344,8 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) connect(viewSourceInNewTabActionPointer, SIGNAL(triggered()), this, SLOT(toggleViewSourceInNewTab())); connect(developerToolsActionPointer, SIGNAL(triggered()), this, SLOT(toggleDeveloperTools())); connect(zoomFactorActionPointer, SIGNAL(triggered()), this, SLOT(getZoomFactorFromUser())); + connect(requestsActionPointer, SIGNAL(triggered()), this, SLOT(showRequestsDialog())); + connect(viewFilterListsActionPointer, SIGNAL(triggered()), this, SLOT(showFilterListsDialog())); connect(viewBookmarksToolBarActionPointer, SIGNAL(triggered()), this, SLOT(toggleViewBookmarksToolBar())); connect(cookiesActionPointer, SIGNAL(triggered()), this, SLOT(showCookiesDialog())); connect(domainSettingsActionPointer, SIGNAL(triggered()), this, SLOT(showDomainSettingsDialog())); @@ -345,8 +359,11 @@ BrowserWindow::BrowserWindow(bool firstWindow, QString *initialUrlStringPointer) connect(userAgentActionGroupPointer, SIGNAL(triggered(QAction*)), tabWidgetPointer, SLOT(applyOnTheFlyUserAgent(QAction*))); connect(searchEngineActionGroupPointer, SIGNAL(triggered(QAction*)), tabWidgetPointer, SLOT(applyOnTheFlySearchEngine(QAction*))); + // Process blocked requests. + connect(tabWidgetPointer, SIGNAL(blockedRequestsUpdated(const int)), this, SLOT(updateRequestsAction(const int))); + // Process cookie changes. - connect(tabWidgetPointer, SIGNAL(updateCookiesAction(int)), this, SLOT(updateCookiesAction(int))); + connect(tabWidgetPointer, SIGNAL(cookiesChanged(const int)), this, SLOT(updateCookiesAction(const int))); // Store the default zoom factor. connect(tabWidgetPointer, SIGNAL(updateDefaultZoomFactor(double)), this, SLOT(updateDefaultZoomFactor(double))); @@ -1501,6 +1518,15 @@ void BrowserWindow::showDomainSettingsDialog() domainSettingsDialogPointer->show(); } +void BrowserWindow::showFilterListsDialog() +{ + // Instantiate the filter lists dialog. + FilterListsDialog *filterListsDialogPointer = new FilterListsDialog(this); + + // Show the dialog. + filterListsDialogPointer->show(); +} + void BrowserWindow::showFindTextActions() const { // Show the find text actions. @@ -1535,6 +1561,15 @@ void BrowserWindow::showProgressBar(const int &progress) const stopActionPointer->setVisible(true); } +void BrowserWindow::showRequestsDialog() +{ + // Instantiate the requests dialog. + RequestsDialog *requestsDialogPointer = new RequestsDialog(this, tabWidgetPointer->currentPrivacyWebEngineViewPointer->requestsListPointer); + + // Show the dialog. + requestsDialogPointer->show(); +} + void BrowserWindow::showSettingsDialog() { // Get a handle for the KConfig skeleton. @@ -1707,9 +1742,15 @@ void BrowserWindow::updateBookmarkedAction() const bookmarkedActionPointer->setIcon(QIcon::fromTheme("non-starred-symbolic")); } +void BrowserWindow::updateRequestsAction(const int blockedRequests) const +{ + // Update the requests action text. + requestsActionPointer->setText(i18nc("Requests action", "Requests - %1 Blocked", blockedRequests)); +} + void BrowserWindow::updateCookiesAction(const int numberOfCookies) const { - // Update the action text. + // Update the cookies action text. cookiesActionPointer->setText(i18nc("The Cookies action, which also displays the number of cookies", "Cookies - %1", numberOfCookies)); }