]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/widgets/PrivacyWebEngineView.h
Add a default zoom action. https://redmine.stoutner.com/issues/1044
[PrivacyBrowserPC.git] / src / widgets / PrivacyWebEngineView.h
index 3869fc34ac2d938f6b150b3bf3be5ff76462f351..c0c47134fff55f5becabbdb5708294bf5e5668d5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * 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>.
  *
@@ -21,7 +21,9 @@
 #define PRIVACYWEBENGINEVIEW_H
 
 // Qt toolkit headers.
+#include <QIcon>
 #include <QNetworkCookie>
+#include <QWebEngineFindTextResult>
 #include <QWebEngineView>
 
 class PrivacyWebEngineView : public QWebEngineView
@@ -35,16 +37,43 @@ public:
 
     // The public variables.
     std::list<QNetworkCookie> *cookieListPointer = new std::list<QNetworkCookie>;
+    double defaultZoomFactor = 1.00;
     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