X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=src%2Fwindows%2FBrowserWindow.h;h=85af5a2930d3bb6681bd22c9325a65f295b33048;hb=refs%2Fheads%2Fmaster;hp=a7b78d6ec1ceb1a95473c55237b8bbab631a2868;hpb=425fed98271cd951cddef9904e5e271f0fb76fc1;p=PrivacyBrowserPC.git diff --git a/src/windows/BrowserWindow.h b/src/windows/BrowserWindow.h index a7b78d6..052a311 100644 --- a/src/windows/BrowserWindow.h +++ b/src/windows/BrowserWindow.h @@ -1,7 +1,7 @@ /* - * Copyright 2022-2023 Soren Stoutner . + * Copyright 2022-2024 Soren Stoutner . * - * This file is part of Privacy Browser PC . + * 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 @@ -22,10 +22,12 @@ // Application headers. #include "widgets/TabWidget.h" +#include "widgets/UrlLineEdit.h" // KDE Frameworks headers. #include #include +#include #include // Qt toolkit headers. @@ -40,7 +42,7 @@ class BrowserWindow : public KXmlGuiWindow public: // The default constructor. - BrowserWindow(bool firstWindow=true); + BrowserWindow(bool firstWindow=true, QString *initialUrlStringPointer = nullptr); // The public functions. QSize sizeHint() const override; @@ -48,12 +50,17 @@ public: // The public variables. TabWidget *tabWidgetPointer; +public Q_SLOTS: + // The public slots. + void populateBookmarksInThisWindow(); // This is public so that the bookmarks can be repopulated over D-Bus when changed by another instance of Privacy Browser. + private Q_SLOTS: // The private slots. - void addOrEditDomainSettings() const; + void addOrEditDomainSettings(); void back() const; void clearUrlLineEditFocus() const; void decrementZoom(); + void editBookmarks(); void escape() const; void findNext() const; void findPrevious() const; @@ -61,54 +68,72 @@ private Q_SLOTS: void fullScreenRequested(const bool toggleOn); void getZoomFactorFromUser(); void hideFindTextActions() const; + void hideProgressBar() const; void home() const; void incrementZoom(); void loadUrlFromLineEdit(const QString &url) const; void newWindow() const; + void populateBookmarksInAllWindows() const; void refresh() const; void reloadAndBypassCache() const; + void showBookmarkContextMenu(const QPoint &point); void showCookiesDialog(); - void showDownloadLocationBrowseDialog() const; - void showDomainSettingsDialog() const; + void showDomainSettingsDialog(); + void showFilterListsDialog(); void showFindTextActions() const; void showProgressBar(const int &progress) const; + void showRequestsDialog(); void showSettingsDialog(); + void toggleBookmark(); + void toggleDeveloperTools() const; 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 updateDefaultZoomFactor(const double newDefaultZoomFactorDouble); void updateDomStorageAction(const bool &isEnabled) const; 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 updateRequestsAction(const int blockedRequests) const; void updateSearchEngineActions(const QString &searchEngine, const bool &updateCustomSearchEngineStatus); void updateUserAgentActions(const QString &userAgent, const bool &updateCustomUserAgentStatus); - 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 updateZoomActions(const double zoomFactorDouble); void zoomDefault(); private: // The private variables. - KConfigDialog *configDialogPointer; + KActionCollection *actionCollectionPointer; + QAction *bookmarkedActionPointer; + QList *> bookmarkFolderFinalActionList; + QList *> bookmarksMenuActionList; + QMenu *bookmarksMenuPointer; + QList *> bookmarksMenuSubmenuList; + QList bookmarksToolBarActionList; + QList *> bookmarksToolBarMenuList; + KToolBar *bookmarksToolBarPointer; + QList *> bookmarksToolBarSubfolderActionList; + bool bookmarksToolBarIsVisible = false; + bool bookmarksToolBarUninitialized = true; QAction *cookiesActionPointer; QUrl currentUrl; QPushButton *currentZoomButtonPointer; - double currentZoomFactor; + double currentZoomFactorDouble; bool customSearchEngineEnabled; bool customUserAgentEnabled; - double defaultZoomFactor; + double defaultZoomFactorDouble; + QAction *developerToolsActionPointer; QAction *domStorageActionPointer; - QComboBox *downloadLocationComboBoxPointer; QAction *findCaseSensitiveActionPointer; QAction *findNextActionPointer; QAction *findPreviousActionPointer; @@ -127,7 +152,8 @@ private: QPalette normalBackgroundPalette; QPalette positiveBackgroundPalette; QProgressBar *progressBarPointer; - QLabel *searchEngineLabelPointer; + QAction *refreshActionPointer; + QAction *requestsActionPointer; QAction *searchEngineMenuActionPointer; QAction *searchEngineMojeekActionPointer; QAction *searchEngineMonoclesActionPointer; @@ -136,7 +162,7 @@ private: QAction *searchEngineBingActionPointer; QAction *searchEngineYahooActionPointer; QAction *searchEngineCustomActionPointer; - QLabel *userAgentLabelPointer; + QAction *stopActionPointer; QAction *userAgentMenuActionPointer; QAction *userAgentPrivacyBrowserActionPointer; QAction *userAgentWebEngineDefaultActionPointer; @@ -147,8 +173,9 @@ private: QAction *userAgentEdgeWindowsActionPointer; QAction *userAgentSafariMacosActionPointer; QAction *userAgentCustomActionPointer; - KLineEdit *urlLineEditPointer; + UrlLineEdit *urlLineEditPointer; KToolBar *urlToolBarPointer; + QAction *viewBookmarksToolBarActionPointer; QAction *viewSourceActionPointer; QAction *viewSourceInNewTabActionPointer; QAction *zoomDefaultActionPointer; @@ -157,5 +184,13 @@ private: QPushButton *zoomMinusButtonPointer; QAction *zoomOutActionPointer; QPushButton *zoomPlusButtonPointer; + + // The private functions. + void addBookmarkFolderFinalActions(QMenu *menuPointer, const double folderId, const bool addToList); + int calculateSettingsInt(const bool settingCurrentlyEnabled, const bool settingEnabledByDefault) const; + void populateBookmarksMenuSubfolders(const double folderId, QMenu *menuPointer); + void populateBookmarksToolBar(); + void populateBookmarksToolBarSubfolders(const double folderId, QMenu *menuPointer); + void updateBookmarkedAction() const; }; #endif