]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/windows/BrowserWindow.h
Update bookmarks in all windows when modified. https://redmine.stoutner.com/issues...
[PrivacyBrowserPC.git] / src / windows / BrowserWindow.h
index 92cdc8eca691bbf59c283e7c1b5cc104383cdcf3..6910f8ae474c968fbbab68a173508fea62690909 100644 (file)
@@ -41,7 +41,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;
@@ -49,6 +49,10 @@ 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;
@@ -67,17 +71,17 @@ private Q_SLOTS:
     void incrementZoom();
     void loadUrlFromLineEdit(const QString &url) const;
     void newWindow() const;
-    void populateBookmarks();
+    void populateBookmarksInAllWindows() const;
     void refresh() const;
     void reloadAndBypassCache() const;
-    void showAddBookmarkDialog() const;
-    void showBookmarkContextMenu(const QPoint&) 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;
@@ -106,10 +110,15 @@ private Q_SLOTS:
 
 private:
     // The private variables.
-    QList<QAction*> bookmarksMenuCurrentActionList;
+    KActionCollection *actionCollectionPointer;
+    QAction *bookmarkedActionPointer;
+    QList<QPair<QMenu *, QAction *> *> bookmarksMenuActionList;
     QMenu *bookmarksMenuPointer;
-    QList<QAction*> bookmarksToolBarCurrentActionList;
+    QList<QPair<QMenu *, QMenu *> *> bookmarksMenuSubmenuList;
+    QList<QAction*> bookmarksToolBarActionList;
+    QList<QPair<QMenu *, const double> *> bookmarksToolBarMenuList;
     KToolBar *bookmarksToolBarPointer;
+    QList<QPair<QMenu *, QAction *> *> bookmarksToolBarSubfolderActionList;
     bool bookmarksToolBarIsVisible = false;
     bool bookmarksToolBarUninitialized = true;
     KConfigDialog *configDialogPointer;
@@ -122,6 +131,7 @@ private:
     double defaultZoomFactor;
     QAction *domStorageActionPointer;
     QComboBox *downloadLocationComboBoxPointer;
+    QList<QPair<QMenu *, QAction *> *> finalBookmarkFolderMenuActionList;
     QAction *findCaseSensitiveActionPointer;
     QAction *findNextActionPointer;
     QAction *findPreviousActionPointer;
@@ -171,5 +181,12 @@ private:
     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