/*
- * Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2022-2023 Soren Stoutner <soren@stoutner.com>.
*
* This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
*
#define PRIVACYWEBENGINEVIEW_H
// Qt toolkit headers.
+#include <QIcon>
#include <QNetworkCookie>
+#include <QWebEngineFindTextResult>
#include <QWebEngineView>
class PrivacyWebEngineView : public QWebEngineView
// The public variables.
std::list<QNetworkCookie> *cookieListPointer = new std::list<QNetworkCookie>;
QString domainSettingsName = QStringLiteral("");
+ QIcon favoriteIcon = QIcon::fromTheme(QStringLiteral("globe"));
+ bool findCaseSensitive = false;
+ QString findString = QStringLiteral("");
+ QWebEngineFindTextResult findTextResult = QWebEngineFindTextResult();
+ bool isLoading = false;
+ int loadProgressInt = -1;
bool localStorageEnabled = false;
+ // The public functions.
+ void applyDomainSettings(const QString &hostname, const bool reloadWebsite);
+
signals:
// The signals.
+ void displayHttpPingBlockedDialog(const QString &httpPingUrl) const;
void updateCookiesAction(const int numberOfCookies) 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 displayHttpPingDialog(const QString &httpPingUrl) const;
+
+private:
+ // The private variables.
+ QWebEngineProfile *webEngineProfilePointer;
+ QWebEngineSettings *webEngineSettingsPointer;
+
protected:
// The protected functions.
+ void contextMenuEvent(QContextMenuEvent *contextMenuEvent) override;
QWebEngineView* createWindow(QWebEnginePage::WebWindowType webWindowType) override;
};
#endif