X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fwidgets%2FPrivacyWebEngineView.h;h=b87a36881cc595d9df2903980294ed5a4c788c9f;hb=refs%2Fheads%2Fmaster;hp=c227f428ee2bd1a0aab6a0b89a8708f2a6335519;hpb=aa9a6b20db5e2c808b390b62704f28bd649e283c;p=PrivacyBrowserPC.git diff --git a/src/widgets/PrivacyWebEngineView.h b/src/widgets/PrivacyWebEngineView.h index c227f42..60121cd 100644 --- a/src/widgets/PrivacyWebEngineView.h +++ b/src/widgets/PrivacyWebEngineView.h @@ -1,7 +1,7 @@ /* - * Copyright © 2022 Soren Stoutner . + * 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 @@ -17,10 +17,18 @@ * along with Privacy Browser PC. 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. +#include +#include #include #include #include @@ -32,28 +40,73 @@ class PrivacyWebEngineView : public QWebEngineView public: // The default constructor. - explicit PrivacyWebEngineView(); + 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 domainSettingsName = QStringLiteral(""); + 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 = QStringLiteral(""); + 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: // The signals. - void updateCookiesAction(const int numberOfCookies) const; + void numberOfCookiesChanged(const int numberOfCookies) const; + void displayHttpPingBlockedDialog(const QString &httpPingUrl) 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 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 openWithChromium() const; + void openWithFirefox() const; + void saveHoveredLink(const QString &hoveredLink); + void storeRequest(RequestStruct *requestStructPointer); + +private: + // The private variables. + QString hoveredLinkString; + KLineEdit *passwordLineEditPointer; + KLineEdit *usernameLineEditPointer; + QWebEngineProfile *webEngineProfilePointer; + QWebEngineSettings *webEngineSettingsPointer; + protected: // The protected functions. + void contextMenuEvent(QContextMenuEvent *contextMenuEvent) override; QWebEngineView* createWindow(QWebEnginePage::WebWindowType webWindowType) override; }; #endif