X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fwidgets%2FPrivacyWebEngineView.h;h=95cc69f5b67d8397b030c27a6f987c5d8e7fc715;hb=refs%2Fheads%2Fmaster;hp=4f621ce86097009c2b680d668285f35c1b3b69d3;hpb=3ea5ede1fd0721bea6813f36388ba6387bdbfcfe;p=PrivacyBrowserPC.git diff --git a/src/widgets/PrivacyWebEngineView.h b/src/widgets/PrivacyWebEngineView.h index 4f621ce..984d972 100644 --- a/src/widgets/PrivacyWebEngineView.h +++ b/src/widgets/PrivacyWebEngineView.h @@ -1,30 +1,34 @@ -/* - * Copyright 2022-2024 Soren Stoutner . +/* SPDX-License-Identifier: GPL-3.0-or-later + * SPDX-FileCopyrightText: 2022-2025 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 - * 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 . + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . */ -#ifndef PRIVACYWEBENGINEVIEW_H -#define PRIVACYWEBENGINEVIEW_H +#ifndef PRIVACY_WEBENGINE_VIEW_H +#define PRIVACY_WEBENGINE_VIEW_H + +// Application headers. +#include "structs/RequestStruct.h" // KDE framework headers. #include -// Qt toolkit headers. +// Qt framework headers. #include +#include #include #include #include @@ -38,40 +42,65 @@ public: // The default constructor. explicit PrivacyWebEngineView(QWidget *parentWidgetPointer = nullptr); + // The public static constants. + static const int ULTRAPRIVACY = 0; + static const int ULTRALIST = 1; + static const int EASYPRIVACY = 2; + static const int EASYLIST = 3; + static const int FANBOYS_ANNOYANCE_LIST = 4; + static const int TOTAL = 5; + // The public variables. + QVector blockedRequestsVector = {0, 0, 0, 0, 0, 0}; std::list *cookieListPointer = new std::list; + QString currentHost = QLatin1String(""); + QString currentUrlText = QLatin1String(""); double defaultZoomFactor = 1.00; QString domainSettingsName = QLatin1String(""); + bool easyListEnabled = true; + bool easyPrivacyEnabled = true; + bool fanboysAnnoyanceListEnabled = true; QIcon favoriteIcon = QIcon::fromTheme(QLatin1String("globe"), QIcon::fromTheme(QLatin1String("applications-internet"))); bool findCaseSensitive = false; QString findString = QLatin1String(""); QWebEngineFindTextResult findTextResult = QWebEngineFindTextResult(); + int httpAuthenticationDialogsDisplayed = 0; bool isLoading = false; int loadProgressInt = -1; bool localStorageEnabled = false; + QList *requestsListPointer = new QList; + bool ultraListEnabled = true; + bool ultraPrivacyEnabled = true; - // The public functions. - void applyDomainSettings(const QString &hostname, const bool reloadWebsite); - -signals: +Q_SIGNALS: // The signals. + void numberOfCookiesChanged(const int numberOfCookies) const; void displayHttpPingBlockedDialog(const QString &httpPingUrl) const; - void updateCookiesAction(const int numberOfCookies) const; + void requestBlocked(const QVector blockedRequestsVector) const; void updateUi(const PrivacyWebEngineView *privacyWebEngineViewPointer) const; public Q_SLOTS: // The public slots. void addCookieToList(const QNetworkCookie &cookie) const; + void applyDomainSettings(const QUrl &newUrl, const bool navigatingHistory); void removeCookieFromList(const QNetworkCookie &cookie) const; private Q_SLOTS: // The private slots. - void applyDomainSettingsWithoutReloading(const QString &hostname); + void clearRequestsList(); void displayHttpPingDialog(const QString &httpPingUrl) const; void handleAuthenticationRequest(const QUrl &requestUrl, QAuthenticator *authenticatorPointer); + void manualOpenInNewTab(); + void openWithChromium() const; + void openWithFirefox() const; + void saveHoveredLink(const QString &hoveredLink); + void storeRequest(RequestStruct *requestStructPointer); + void storeUpdatedUrl(const QUrl &newUrl); private: // The private variables. + QString hoveredLinkString; + bool manuallyOpeninginNewTab = false; KLineEdit *passwordLineEditPointer; KLineEdit *usernameLineEditPointer; QWebEngineProfile *webEngineProfilePointer;