/*
- * Copyright 2022-2023 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2022-2024 Soren Stoutner <soren@stoutner.com>.
*
- * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
+ * This file is part of Privacy Browser PC <https://www.stoutner.com/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
* along with Privacy Browser PC. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef BROWSERWINDOW_H
-#define BROWSERWINDOW_H
+#ifndef BROWSER_WINDOW_H
+#define BROWSER_WINDOW_H
// Application headers.
#include "widgets/TabWidget.h"
+#include "widgets/UrlLineEdit.h"
// KDE Frameworks headers.
#include <KConfigDialog>
// The public variables.
TabWidget *tabWidgetPointer;
+public Q_SLOTS:
+ // The public slots.
+ void populateBookmarksInThisWindow(); // This is public so that the bookmarks can be repopulated over D-Bus when changed by another instance of Privacy Browser.
+
private Q_SLOTS:
// The private slots.
- void addOrEditDomainSettings() const;
+ void addOrEditDomainSettings();
void back() const;
void clearUrlLineEditFocus() const;
void decrementZoom();
- void editBookmarks() const;
+ void editBookmarks();
void escape() const;
void findNext() const;
void findPrevious() const;
void fullScreenRequested(const bool toggleOn);
void getZoomFactorFromUser();
void hideFindTextActions() const;
+ void hideProgressBar() const;
void home() const;
void incrementZoom();
void loadUrlFromLineEdit(const QString &url) const;
void newWindow() const;
- void populateBookmarks();
+ void openWithChromium() const;
+ void openWithFirefox() const;
+ void populateBookmarksInAllWindows() const;
void refresh() const;
void reloadAndBypassCache() const;
void showBookmarkContextMenu(const QPoint &point);
void showCookiesDialog();
- void showDownloadLocationBrowseDialog() const;
- void showDomainSettingsDialog() const;
+ void showDomainSettingsDialog();
+ void showFilterListsDialog();
void showFindTextActions() const;
void showProgressBar(const int &progress) const;
+ void showRequestsDialog();
void showSettingsDialog();
void toggleBookmark();
+ void toggleDeveloperTools() const;
void toggleDomStorage() const;
void toggleFindCaseSensitive() const;
void toggleJavaScript() const;
void toggleViewSource() const;
void toggleViewSourceInNewTab() const;
void updateCookiesAction(const int numberOfCookies) const;
- void updateDefaultZoomFactor(const double newDefaultZoomFactor);
+ void updateDefaultZoomFactor(const double newDefaultZoomFactorDouble);
void updateDomStorageAction(const bool &isEnabled) const;
void updateDomainSettingsIndicator(const bool status);
void updateFindText(const QString &text, const bool findCaseSensitive) const;
void updateFindTextResults(const QWebEngineFindTextResult &findTextResult) const;
void updateJavaScriptAction(const bool &isEnabled);
void updateLocalStorageAction(const bool &isEnabled);
+ void updateRequestsAction(const QVector<int> blockedRequestsVector) const;
void updateSearchEngineActions(const QString &searchEngine, const bool &updateCustomSearchEngineStatus);
void updateUserAgentActions(const QString &userAgent, const bool &updateCustomUserAgentStatus);
- void updateZoomActions(const double &zoomFactor);
- void updateSearchEngineLabel(const QString &searchEngineString) const;
void updateUrlLineEdit(const QUrl &newUrl);
- void updateUserAgentLabel(const QString &userAgentDatabaseName) const;
void updateViewBookmarksToolBarCheckbox(const bool visible);
void updateWindowTitle(const QString &title);
+ void updateZoomActions(const double zoomFactorDouble);
void zoomDefault();
private:
// The private variables.
KActionCollection *actionCollectionPointer;
+ QAction *blockedRequestsActionPointer;
QAction *bookmarkedActionPointer;
+ QList<QPair<QMenu *, QAction *> *> bookmarkFolderFinalActionList;
QList<QPair<QMenu *, QAction *> *> bookmarksMenuActionList;
QMenu *bookmarksMenuPointer;
QList<QPair<QMenu *, QMenu *> *> bookmarksMenuSubmenuList;
QList<QPair<QMenu *, QAction *> *> bookmarksToolBarSubfolderActionList;
bool bookmarksToolBarIsVisible = false;
bool bookmarksToolBarUninitialized = true;
- KConfigDialog *configDialogPointer;
QAction *cookiesActionPointer;
QUrl currentUrl;
QPushButton *currentZoomButtonPointer;
- double currentZoomFactor;
+ double currentZoomFactorDouble;
bool customSearchEngineEnabled;
bool customUserAgentEnabled;
- double defaultZoomFactor;
+ double defaultZoomFactorDouble;
+ QAction *developerToolsActionPointer;
QAction *domStorageActionPointer;
- QComboBox *downloadLocationComboBoxPointer;
- QList<QPair<QMenu *, QAction *> *> finalBookmarkFolderMenuActionList;
+ QAction *easyPrivacyActionPointer;
+ QAction *easyListActionPointer;
+ QAction *fanboysAnnoyanceListPointer;
QAction *findCaseSensitiveActionPointer;
QAction *findNextActionPointer;
QAction *findPreviousActionPointer;
QPalette normalBackgroundPalette;
QPalette positiveBackgroundPalette;
QProgressBar *progressBarPointer;
- QLabel *searchEngineLabelPointer;
+ QAction *refreshActionPointer;
+ QAction *requestsActionPointer;
QAction *searchEngineMenuActionPointer;
QAction *searchEngineMojeekActionPointer;
QAction *searchEngineMonoclesActionPointer;
QAction *searchEngineBingActionPointer;
QAction *searchEngineYahooActionPointer;
QAction *searchEngineCustomActionPointer;
- QLabel *userAgentLabelPointer;
+ QAction *stopActionPointer;
+ QAction *ultraPrivacyActionPointer;
+ QAction *ultraListActionPointer;
QAction *userAgentMenuActionPointer;
QAction *userAgentPrivacyBrowserActionPointer;
QAction *userAgentWebEngineDefaultActionPointer;
QAction *userAgentEdgeWindowsActionPointer;
QAction *userAgentSafariMacosActionPointer;
QAction *userAgentCustomActionPointer;
- KLineEdit *urlLineEditPointer;
+ UrlLineEdit *urlLineEditPointer;
KToolBar *urlToolBarPointer;
QAction *viewBookmarksToolBarActionPointer;
QAction *viewSourceActionPointer;
QPushButton *zoomPlusButtonPointer;
// The private functions.
- void addFinalBookmarkFolderMenuActions(QMenu *menuPointer, double folderId);
+ void addBookmarkFolderFinalActions(QMenu *menuPointer, const double folderId, const bool addToList);
+ int calculateSettingsInt(const bool settingCurrentlyEnabled, const bool settingEnabledByDefault) const;
void populateBookmarksMenuSubfolders(const double folderId, QMenu *menuPointer);
void populateBookmarksToolBar();
void populateBookmarksToolBarSubfolders(const double folderId, QMenu *menuPointer);