]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/views/BrowserView.h
Implement manual adding of cookies.
[PrivacyBrowserPC.git] / src / views / BrowserView.h
index 2804783ce26271e58be4e6b0bffd052cb37893e8..fb60f038cd46f0f5fd3073874beadfe4c252c9fb 100644 (file)
 #ifndef BROWSERVIEW_H
 #define BROWSERVIEW_H
 
+// KDE Framework headers.
+#include <KLineEdit>
+
 // Qt framework headers.
 #include <QPushButton>
 #include <QWebEngineHistory>
+#include <QWebEngineProfile>
 #include <QWebEngineSettings>
 #include <QWebEngineView>
 
-// KDE Framework headers.
-#include <KLineEdit>
-
 class BrowserView : public QWidget
 {
     // Include the Q_OBJECT macro.
@@ -38,47 +39,73 @@ public:
     // The primary contructor.
     explicit BrowserView(QWidget *parent);
 
+    // The destructor.
+    ~BrowserView();
+
     // The public functions.
-    void applyOnTheFlyZoomFactor(const double &zoomFactor) const;
+    void applyOnTheFlyZoomFactor(const double &zoomFactor);
     void loadInitialWebsite();
+    void toggleJavaScript() const;
+    void toggleLocalStorage() const;
+
+    // The public static variables.
+    static QString webEngineDefaultUserAgent;
 
 signals:
     // The signals.
+    void addCookie(const QNetworkCookie &cookie) const;
+    void clearUrlLineEditFocus() const;
+    void hideProgressBar() const;
     void linkHovered(const QString &linkUrl) const;
-    void userAgentUpdated(const QString &userAgent) const;
-    void searchEngineUpdated(const QString &searchEngine) const;
-    void zoomFactorUpdated(const double &zoomFactor) const;
+    void showProgressBar(const int &progress) const;
+    void updateBackAction(const bool &isEnabled) const;
+    void updateDomainSettingsIndicator(const bool &status, const QString &domainSettingsDomain) const;
+    void updateForwardAction(const bool &isEnabled) const;
+    void updateJavaScriptAction(const bool &isEnabled) const;
+    void updateLocalStorageAction(const bool &isEnabled) const;
+    void updateSearchEngineActions(const QString &searchEngine) const;
+    void updateUrlLineEdit(const QUrl &newUrl) const;
+    void updateUserAgentActions(const QString &userAgent) const;
+    void updateZoomFactorAction(const double &zoomFactor) const;
 
 public Q_SLOTS:
     // The public slots.
+    void addCookieToStore(QNetworkCookie cookie) const;
     void applyApplicationSettings();
-    void applyDomainSettingsAndReload() const;
-    void applyDomainSettingsWithoutReloading() const;
+    void applyDomainSettingsAndReload();
+    void applyDomainSettingsWithoutReloading(const QString &hostname);
     void applyOnTheFlySearchEngine(QAction *searchEngineActionPointer);
     void applyOnTheFlyUserAgent(QAction *userAgentActionPointer) const;
+    void back() const;
+    void deleteAllCookies() const;
+    void forward() const;
+    void home() const;
+    void loadUrlFromLineEdit(QString url) const;
+    void mouseBack() const;
+    void mouseForward() const;
+    void refresh() const;
 
 private Q_SLOTS:
     // The private slots.
-    void goHome() const;
-    void loadUrlFromTextBox(QString urlFromUser) const;
+    void cookieAdded(const QNetworkCookie &cookie) const;
+    void loadFinished() const;
+    void loadProgress(const int &progress) const;
+    void loadStarted() const;
     void pageLinkHovered(const QString &linkUrl) const;
-    void toggleJavaScript() const;
-    void openDomainSettings() const;
-    void updateInterface() const;
+    void updateUrl(const QUrl &url) const;
 
 private:
     // The private variables.
-    QPushButton *backButtonPointer;
-    QPushButton *forwardButtonPointer;
-    QPushButton *javaScriptButtonPointer;
+    double currentZoomFactor;  // This can be removed once <https://redmine.stoutner.com/issues/799> has been resolved.
     QString searchEngineUrl;
-    KLineEdit *urlLineEditPointer;
+    QWebEngineCookieStore *webEngineCookieStorePointer;
     QWebEngineHistory *webEngineHistoryPointer;
+    QWebEnginePage *webEnginePagePointer;
     QWebEngineProfile *webEngineProfilePointer;
     QWebEngineSettings *webEngineSettingsPointer;
     QWebEngineView *webEngineViewPointer;
 
     // The private functions.
-    void applyDomainSettings(bool reloadWebsite) const;
+    void applyDomainSettings(const QString &hostname, const bool reloadWebsite);
 };
 #endif