]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/dialogs/CookiesDialog.h
Add a default folder icon to the edit folder dialog. https://redmine.stoutner.com...
[PrivacyBrowserPC.git] / src / dialogs / CookiesDialog.h
index 89f9c623b9f46e4b6037820589f274a6945252b4..5319897e68bd5a2cb77c91d52873941961347347 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2022 Soren Stoutner <soren@stoutner.com>.
+ * Copyright 2022-2024 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc>.
  *
 
 // Qt toolkit headers.
 #include <QDialog>
+#include <QItemSelectionModel>
 #include <QNetworkCookie>
-#include <QVBoxLayout>
+#include <QStandardItemModel>
+#include <QTreeView>
+
+// C++ headers.
+#include <list>
 
 class CookiesDialog : public QDialog
 {
@@ -32,28 +37,40 @@ class CookiesDialog : public QDialog
 
 public:
     // The primary constructor.
-    explicit CookiesDialog(QList<QNetworkCookie> *cookieListPointer);
+    explicit CookiesDialog(std::list<QNetworkCookie> *cookieListPointer);
 
 signals:
     // The signals.
     void addCookie(const QNetworkCookie &cookie) const;
     void deleteAllCookies() const;
+    void deleteCookie(const QNetworkCookie &cookie) const;
 
 private Q_SLOTS:
     // The private slots.
-    void addCookieFromDialog(const QNetworkCookie &cookie) const;
-    void showAddCookieMessageBox() const;
+    void addCookieFromDialog(const QNetworkCookie &cookie, const bool &isDurable) const;
+    void deleteCookieFromDatabase(const QNetworkCookie &cookie) const;
+    void deleteCookieFromDialog(const QNetworkCookie &cookie) const;
+    void showAddCookieDialog();
     void showDeleteAllMessageBox() const;
+    void showDeleteCookieMessageBox() const;
+    void showDurableCookiesDialog();
+    void showEditCookieDialog();
+    void updateUi() const;
 
 private:
     // The private variables.
     QPushButton *addCookieButtonPointer;
-    QList<QNetworkCookie> *cookieListPointer;
-    QVBoxLayout *cookiesVBoxLayoutPointer;
+    std::list<QNetworkCookie> *cookieListPointer;
     QPushButton *deleteAllButtonPointer;
+    QPushButton *deleteCookieButtonPointer;
+    QPushButton *durableCookiesButtonPointer;
+    QPushButton *editCookieButtonPointer;
+    QStandardItemModel *treeModelPointer;
+    QItemSelectionModel *treeSelectionModelPointer;
+    QTreeView *treeViewPointer;
 
     // The private functions.
-    void addCookieToLayout(const QNetworkCookie &cookie) const;
-    void updateUi() const;
+    void deleteCookie(const QModelIndex &modelIndex, const bool &deleteDurableCookies) const;
+    void deleteDomain(const QModelIndex &modelIndex, const bool &deleteDurableCookies) const;
 };
 #endif