X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fwindows%2FBrowserWindow.h;h=c4e04645371d0f9f86a8f76d4d116cf4102a5bfa;hb=3b22acd838008fd54234acc475edca434510b501;hp=bfd76c0a46693b5689c2a3d3b3b655bfc15755a2;hpb=823acbeb2cc27030857f249ab7157d8562e7b7fe;p=PrivacyBrowserPC.git diff --git a/src/windows/BrowserWindow.h b/src/windows/BrowserWindow.h index bfd76c0..c4e0464 100644 --- a/src/windows/BrowserWindow.h +++ b/src/windows/BrowserWindow.h @@ -1,5 +1,5 @@ /* - * Copyright © 2022 Soren Stoutner . + * Copyright 2022-2023 Soren Stoutner . * * This file is part of Privacy Browser PC . * @@ -21,19 +21,19 @@ #define BROWSERWINDOW_H // Application headers. -#include "views/BrowserView.h" +#include "widgets/TabWidget.h" // KDE Frameworks headers. #include +#include +#include #include // Qt toolkit headers. +#include #include #include -// C++ headers. -#include - class BrowserWindow : public KXmlGuiWindow { // Include the Q_OBJECT macro. @@ -41,60 +41,110 @@ class BrowserWindow : public KXmlGuiWindow public: // The default constructor. - BrowserWindow(); + BrowserWindow(bool firstWindow=true, QString *initialUrlStringPointer = nullptr); // The public functions. QSize sizeHint() const override; + // The public variables. + TabWidget *tabWidgetPointer; + private Q_SLOTS: // The private slots. - void addCookieToList(const QNetworkCookie &newCookie) const; void addOrEditDomainSettings() const; void back() const; void clearUrlLineEditFocus() const; - void fileNew() const; + void decrementZoom(); + void editBookmarks() const; + void escape() const; + void findNext() const; + void findPrevious() const; void forward() const; + void fullScreenRequested(const bool toggleOn); void getZoomFactorFromUser(); + void hideFindTextActions() const; void home() const; + void incrementZoom(); void loadUrlFromLineEdit(const QString &url) const; - void openCookiesDialog(); - void openDomainSettings() const; + void newWindow() const; + void populateBookmarks(); void refresh() const; - void removeCookieFromList(const QNetworkCookie &cookie) const; - void settingsConfigure(); + void reloadAndBypassCache() const; + void showBookmarkContextMenu(const QPoint &point); + void showCookiesDialog(); + void showDownloadLocationBrowseDialog() const; + void showDomainSettingsDialog() const; + void showFindTextActions() const; void showProgressBar(const int &progress) const; + void showSettingsDialog(); + void toggleBookmark(); void toggleDomStorage() const; + void toggleFindCaseSensitive() const; void toggleJavaScript() const; void toggleLocalStorage() const; + void toggleFullScreen(); + void toggleViewBookmarksToolBar(); + void toggleViewSource() const; + void toggleViewSourceInNewTab() const; + void updateCookiesAction(const int numberOfCookies) const; + void updateDefaultZoomFactor(const double newDefaultZoomFactor); void updateDomStorageAction(const bool &isEnabled) const; - void updateDomainSettingsIndicator(const bool &status, const QString &domainSettingsDomain); + void updateDomainSettingsIndicator(const bool status); + void updateFindText(const QString &text, const bool findCaseSensitive) const; + void updateFindTextResults(const QWebEngineFindTextResult &findTextResult) const; void updateJavaScriptAction(const bool &isEnabled); void updateLocalStorageAction(const bool &isEnabled); void updateSearchEngineActions(const QString &searchEngine, const bool &updateCustomSearchEngineStatus); void updateUserAgentActions(const QString &userAgent, const bool &updateCustomUserAgentStatus); - void updateZoomFactorAction(const double &zoomFactor); + void updateZoomActions(const double &zoomFactor); void updateSearchEngineLabel(const QString &searchEngineString) const; void updateUrlLineEdit(const QUrl &newUrl); void updateUserAgentLabel(const QString &userAgentDatabaseName) const; + void updateViewBookmarksToolBarCheckbox(const bool visible); + void updateWindowTitle(const QString &title); + void zoomDefault(); private: // The private variables. - BrowserView *browserViewPointer; + KActionCollection *actionCollectionPointer; + QAction *bookmarkedActionPointer; + QList *> bookmarksMenuActionList; + QMenu *bookmarksMenuPointer; + QList *> bookmarksMenuSubmenuList; + QList bookmarksToolBarActionList; + QList *> bookmarksToolBarMenuList; + KToolBar *bookmarksToolBarPointer; + QList *> bookmarksToolBarSubfolderActionList; + bool bookmarksToolBarIsVisible = false; + bool bookmarksToolBarUninitialized = true; KConfigDialog *configDialogPointer; - std::list *cookieListPointer; QAction *cookiesActionPointer; - QString currentDomainSettingsDomain; QUrl currentUrl; + QPushButton *currentZoomButtonPointer; double currentZoomFactor; bool customSearchEngineEnabled; bool customUserAgentEnabled; + double defaultZoomFactor; QAction *domStorageActionPointer; - QPalette domainSettingsPalette; + QComboBox *downloadLocationComboBoxPointer; + QList *> finalBookmarkFolderMenuActionList; + QAction *findCaseSensitiveActionPointer; + QAction *findNextActionPointer; + QAction *findPreviousActionPointer; + QAction *findTextLabelActionPointer; + QLabel *findTextLabelPointer; + QAction *findTextLineEditActionPointer; + KLineEdit *findTextLineEditPointer; + KToggleFullScreenAction *fullScreenActionPointer; + QAction *hideFindTextActionPointer; QAction *javaScriptActionPointer; bool javaScriptEnabled; QAction *localStorageActionPointer; bool localStorageEnabled; - QPalette noDomainSettingsPalette; + KToolBar *navigationToolBarPointer; + QPalette negativeBackgroundPalette; + QPalette normalBackgroundPalette; + QPalette positiveBackgroundPalette; QProgressBar *progressBarPointer; QLabel *searchEngineLabelPointer; QAction *searchEngineMenuActionPointer; @@ -117,6 +167,22 @@ private: QAction *userAgentSafariMacosActionPointer; QAction *userAgentCustomActionPointer; KLineEdit *urlLineEditPointer; + KToolBar *urlToolBarPointer; + QAction *viewBookmarksToolBarActionPointer; + QAction *viewSourceActionPointer; + QAction *viewSourceInNewTabActionPointer; + QAction *zoomDefaultActionPointer; QAction *zoomFactorActionPointer; + QAction *zoomInActionPointer; + QPushButton *zoomMinusButtonPointer; + QAction *zoomOutActionPointer; + QPushButton *zoomPlusButtonPointer; + + // The private functions. + void addFinalBookmarkFolderMenuActions(QMenu *menuPointer, double folderId); + void populateBookmarksMenuSubfolders(const double folderId, QMenu *menuPointer); + void populateBookmarksToolBar(); + void populateBookmarksToolBarSubfolders(const double folderId, QMenu *menuPointer); + void updateBookmarkedAction() const; }; #endif