-/*
- * Copyright 2022-2024 Soren Stoutner <soren@stoutner.com>.
+/* SPDX-License-Identifier: GPL-3.0-or-later
+ * SPDX-FileCopyrightText: 2022-2025 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
*
- * Privacy Browser PC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
*
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser PC. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <https://www.gnu.org/licenses/>.
*/
-#ifndef BROWSERWINDOW_H
-#define BROWSERWINDOW_H
+#ifndef BROWSER_WINDOW_H
+#define BROWSER_WINDOW_H
// Application headers.
#include "widgets/TabWidget.h"
public Q_SLOTS:
// The public slots.
+ void applyDomainSettingsInThisWindow(); // This is public so that the domain settings can be reapplied over D-Bus when changed by another instance of Privacy Browser.
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();
+ void applyDomainSettingsInAllWindows() const;
void back() const;
void clearUrlLineEditFocus() const;
void decrementZoom();
void incrementZoom();
void loadUrlFromLineEdit(const QString &url) const;
void newWindow() const;
+ void openWithChromium() const;
+ void openWithFirefox() const;
void populateBookmarksInAllWindows() const;
+ void processUrlTextChanges(const QString &newUrlText) const;
void refresh() const;
void reloadAndBypassCache() const;
+ void restoreUrlText() const;
+ void runMethodInAllWindows(const QString &methodString) const;
void showBookmarkContextMenu(const QPoint &point);
void showCookiesDialog();
void showDomainSettingsDialog();
+ void showFilterListsDialog();
void showFindTextActions() const;
void showProgressBar(const int &progress) const;
+ void showRequestsDialog();
void showSettingsDialog();
void toggleBookmark();
void toggleDeveloperTools() 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 zoomFactorDouble);
void updateUrlLineEdit(const QUrl &newUrl);
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;
double defaultZoomFactorDouble;
QAction *developerToolsActionPointer;
QAction *domStorageActionPointer;
+ bool domainSettingsApplied = false;
+ QAction *easyPrivacyActionPointer;
+ QAction *easyListActionPointer;
+ QAction *fanboysAnnoyanceListPointer;
QAction *findCaseSensitiveActionPointer;
QAction *findNextActionPointer;
QAction *findPreviousActionPointer;
QLabel *findTextLabelPointer;
QAction *findTextLineEditActionPointer;
KLineEdit *findTextLineEditPointer;
+ QAction *findTextSpacerActionPointer;
KToggleFullScreenAction *fullScreenActionPointer;
QAction *hideFindTextActionPointer;
QAction *javaScriptActionPointer;
QPalette positiveBackgroundPalette;
QProgressBar *progressBarPointer;
QAction *refreshActionPointer;
+ QAction *requestsActionPointer;
+ QAction *restoreUrlTextActionPointer;
QAction *searchEngineMenuActionPointer;
QAction *searchEngineMojeekActionPointer;
QAction *searchEngineMonoclesActionPointer;
QAction *searchEngineYahooActionPointer;
QAction *searchEngineCustomActionPointer;
QAction *stopActionPointer;
+ QAction *ultraPrivacyActionPointer;
+ QAction *ultraListActionPointer;
QAction *userAgentMenuActionPointer;
QAction *userAgentPrivacyBrowserActionPointer;
QAction *userAgentWebEngineDefaultActionPointer;