+++ /dev/null
-/*
- * Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
- *
- * 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
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Privacy Browser PC is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Privacy Browser PC. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef BROWSERVIEW_H
-#define BROWSERVIEW_H
-
-// Application headers.
-#include "structs/PrivacyWebEngine.h"
-
-// KDE Framework headers.
-#include <KLineEdit>
-
-// Qt toolkit headers.
-#include <QPushButton>
-#include <QWebEngineFullScreenRequest>
-#include <QWebEngineHistory>
-#include <QWebEngineProfile>
-#include <QWebEngineSettings>
-#include <QWebEngineView>
-
-class BrowserView : public QWidget
-{
- // Include the Q_OBJECT macro.
- Q_OBJECT
-
-public:
- // The primary contructor.
- explicit BrowserView(QWidget *parent);
-
- // The destructor.
- ~BrowserView();
-
- // The public functions.
- void applyOnTheFlyZoomFactor(const double &zoomFactor);
- void loadInitialWebsite();
- void toggleDomStorage() const;
- void toggleJavaScript() const;
- void toggleLocalStorage();
-
- // The public static variables.
- static QString webEngineDefaultUserAgent;
-
-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 bool &updateCustomSearchEngineStatus) const;
- void updateUrlLineEdit(const QUrl &newUrl) 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);
- void applyOnTheFlySearchEngine(QAction *searchEngineActionPointer);
- 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;
- QWebEnginePage *webEnginePagePointer;
- QWebEngineProfile *webEngineProfilePointer;
- QWebEngineSettings *webEngineSettingsPointer;
- QWebEngineView *webEngineViewPointer;
-
- // The private functions.
- void applyDomainSettings(const QString &hostname, const bool reloadWebsite);
-};
-#endif