]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/views/BrowserView.h
Implement file downloads.
[PrivacyBrowserPC.git] / src / views / BrowserView.h
index 0a88a2ca0788dc96f51601fa0e664619c806380a..8007aa73e35d3a57340a2b430501de6d0f33c314 100644 (file)
 #ifndef BROWSERVIEW_H
 #define BROWSERVIEW_H
 
+// Application headers.
+#include "structs/PrivacyWebEngine.h"
+
 // KDE Framework headers.
 #include <KLineEdit>
 
-// Qt framework headers.
+// Qt toolkit headers.
 #include <QPushButton>
+#include <QWebEngineFullScreenRequest>
 #include <QWebEngineHistory>
 #include <QWebEngineProfile>
 #include <QWebEngineSettings>
@@ -45,8 +49,9 @@ public:
     // The public functions.
     void applyOnTheFlyZoomFactor(const double &zoomFactor);
     void loadInitialWebsite();
+    void toggleDomStorage() const;
     void toggleJavaScript() const;
-    void toggleLocalStorage() const;
+    void toggleLocalStorage();
 
     // The public static variables.
     static QString webEngineDefaultUserAgent;
@@ -54,22 +59,26 @@ public:
 signals:
     // The signals.
     void addCookie(const QNetworkCookie &cookie) const;
+    void removeCookie(const QNetworkCookie &cookie) const;
     void clearUrlLineEditFocus() const;
+    void fullScreenRequested(const bool toggleOn) const;
     void hideProgressBar() const;
     void linkHovered(const QString &linkUrl) const;
     void showProgressBar(const int &progress) const;
     void updateBackAction(const bool &isEnabled) const;
+    void updateDomStorageAction(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 updateSearchEngineActions(const QString &searchEngine, const bool &updateCustomSearchEngineStatus) const;
     void updateUrlLineEdit(const QUrl &newUrl) const;
-    void updateUserAgentActions(const QString &userAgent) const;
+    void updateUserAgentActions(const QString &userAgent, const bool &updateCustomUserAgentStatus) const;
     void updateZoomFactorAction(const double &zoomFactor) const;
 
 public Q_SLOTS:
     // The public slots.
+    void addCookieToStore(QNetworkCookie cookie) const;
     void applyApplicationSettings();
     void applyDomainSettingsAndReload();
     void applyDomainSettingsWithoutReloading(const QString &hostname);
@@ -77,25 +86,35 @@ public Q_SLOTS:
     void applyOnTheFlyUserAgent(QAction *userAgentActionPointer) const;
     void back() const;
     void deleteAllCookies() const;
+    void deleteCookieFromStore(const QNetworkCookie &cookie) const;
     void forward() const;
     void home() const;
     void loadUrlFromLineEdit(QString url) const;
     void mouseBack() const;
     void mouseForward() const;
+    void print() const;
+    void printPreview() const;
     void refresh() const;
 
 private Q_SLOTS:
     // The private slots.
     void cookieAdded(const QNetworkCookie &cookie) const;
+    void cookieRemoved(const QNetworkCookie &cookie) const;
+    void fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest) const;
     void loadFinished() const;
     void loadProgress(const int &progress) const;
     void loadStarted() const;
     void pageLinkHovered(const QString &linkUrl) const;
+    void printWebpage(QPrinter *printerPointer) const;
+    void showSaveDialog(QWebEngineDownloadItem *downloadItemPointer) const;
+    void showSaveFilePickerDialog(QUrl &downloadUrl, QString &suggestedFileName);
     void updateUrl(const QUrl &url) const;
 
 private:
     // The private variables.
     double currentZoomFactor;  // This can be removed once <https://redmine.stoutner.com/issues/799> has been resolved.
+    PrivacyWebEngine *currentPrivacyWebEnginePointer;
+    QList<PrivacyWebEngine*> *privacyWebEngineListPointer;
     QString searchEngineUrl;
     QWebEngineCookieStore *webEngineCookieStorePointer;
     QWebEngineHistory *webEngineHistoryPointer;