/*
- * 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
#ifndef PRIVACYWEBENGINEVIEW_H
#define PRIVACYWEBENGINEVIEW_H
+// Application headers.
+#include "structs/RequestStruct.h"
+
+// KDE framework headers.
+#include <KLineEdit>
+
// Qt toolkit headers.
+#include <QIcon>
+#include <QList>
#include <QNetworkCookie>
#include <QWebEngineFindTextResult>
#include <QWebEngineView>
public:
// The default constructor.
- explicit PrivacyWebEngineView();
+ explicit PrivacyWebEngineView(QWidget *parentWidgetPointer = nullptr);
// The public variables.
+ int blockedRequests = 0;
std::list<QNetworkCookie> *cookieListPointer = new std::list<QNetworkCookie>;
- QString domainSettingsName = QStringLiteral("");
+ double defaultZoomFactor = 1.00;
+ QString domainSettingsName = QLatin1String("");
+ 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<RequestStruct *> *requestsListPointer = new QList<RequestStruct *>;
// 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 int blockedRequests) const;
void updateUi(const PrivacyWebEngineView *privacyWebEngineViewPointer) const;
public Q_SLOTS:
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 storeRequest(RequestStruct *requestStructPointer);
private:
// The private variables.
+ KLineEdit *passwordLineEditPointer;
+ KLineEdit *usernameLineEditPointer;
QWebEngineProfile *webEngineProfilePointer;
QWebEngineSettings *webEngineSettingsPointer;