X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2FMainView.h;fp=src%2FMainView.h;h=f08975eb6f061375e8a75264df2a08267a56145b;hp=0000000000000000000000000000000000000000;hb=05800bafb963a10f291d2a9604dc90cd7ac37c7b;hpb=a65c9f31cc84f245da08642cefefe7a17fa941ce diff --git a/src/MainView.h b/src/MainView.h new file mode 100644 index 0000000..f08975e --- /dev/null +++ b/src/MainView.h @@ -0,0 +1,76 @@ +/* + * Copyright © 2022 Soren Stoutner . + * + * This file is part of 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 . + */ + +#ifndef MAINVIEW_H +#define MAINVIEW_H + +// Application headers. +#include "UserAgentHelper.h" + +// Qt framework headers. +#include +#include +#include +#include + +// KDE Framework headers. +#include + +class MainView : public QWidget +{ + // Include the Q_OBJECT macro. + Q_OBJECT + +public: + // The primary contructor. + explicit MainView(QWidget *parent); + +signals: + // Define the signals. + void linkHovered(const QString &linkUrl); + +public Q_SLOTS: + // Define the public slots. + void applyApplicationSettings(); + void applyDomainSettingsAndReload(); + +private Q_SLOTS: + // Define the private slots. + void goHome(); + void loadUrl(const QString &urlFromUser); + void pageLinkHovered(const QString &linkUrl); + void toggleJavaScript(); + void updateInterface(); + +private: + // Define the private variables. + QPushButton *backButtonPointer; + QPushButton *forwardButtonPointer; + QPushButton *javaScriptButtonPointer; + KLineEdit *urlLineEditPointer; + QWebEngineHistory *webEngineHistoryPointer; + QWebEngineProfile *webEngineProfilePointer; + QWebEngineSettings *webEngineSettingsPointer; + QWebEngineView *webEngineViewPointer; + UserAgentHelper *userAgentHelperPointer; + + // Define the private functions. + void applyDomainSettings(bool reloadWebsite); +}; +#endif