]> gitweb.stoutner.com Git - PrivacyBrowserPC.git/blobdiff - src/dialogs/DomainSettingsDialog.h
Partial filter list implementation.
[PrivacyBrowserPC.git] / src / dialogs / DomainSettingsDialog.h
index 6acfcb57e9d0cb8720ff12b3d19bb4784b0f90a1..cef20602e5dc1073f0431c1210425062cb60689d 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * 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>.
+ * This file is part of Privacy Browser PC <https://www.stoutner.com/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
 #ifndef DOMAINSETTINGSDIALOG_H
 #define DOMAINSETTINGSDIALOG_H
 
+// Application headers.
+#include "helpers/UserAgentHelper.h"
+
 // KDE Frameworks headers.
 #include <KLineEdit>
 
 // Qt toolkit headers.
 #include <QDialog>
+#include <QDoubleSpinBox>
 #include <QLabel>
 #include <QtSql>
 
@@ -35,7 +39,12 @@ class DomainSettingsDialog : public QDialog
 
 public:
     // The primary constructor.
-    explicit DomainSettingsDialog(QWidget *parent = nullptr);
+    explicit DomainSettingsDialog(QWidget *parentWidgetPointer, const int &startType = SHOW_ALL_DOMAINS, const QString &domainName = QStringLiteral(""));
+
+    // The public static int constants.
+    static const int SHOW_ALL_DOMAINS;
+    static const int ADD_DOMAIN;
+    static const int EDIT_DOMAIN;
 
 signals:
     void domainSettingsUpdated() const;
@@ -44,32 +53,54 @@ private Q_SLOTS:
     // The private slots.
     void apply() const;
     void cancel();
-    void domainNameChanged(QString updatedDomainName) const;
-    void domainSelected(QModelIndex modelIndex) const;
-    void javaScriptChanged(int newIndex) const;
+    void customZoomFactorChanged(const double &newValue) const;
+    void domStorageChanged(const int &newIndex) const;
+    void domainNameChanged(const QString &updatedDomainName) const;
+    void domainSelected(const QModelIndex &modelIndex) const;
+    void javaScriptChanged(const int &newIndex) const;
+    void localStorageChanged(const int &newIndex) const;
     void ok();
     void reset() const;
     void showAddMessageBox();
     void showDeleteMessageBox() const;
-    void userAgentChanged(const QString updatedUserAgent) const;
+    void userAgentChanged(const QString &updatedUserAgent) const;
+    void zoomFactorComboBoxChanged(const int &newIndex) const;
 
 private:
     // The private variables.
     QPushButton *applyButtonPointer;
+    QDoubleSpinBox *customZoomFactorSpinBoxPointer;
+    QPalette defaultPalette;
     QPushButton *deleteDomainButtonPointer;
-    QListView *domainsListViewPointer;
+    QWidget *domStorageWidgetPointer;
+    QComboBox *domStorageComboBoxPointer;
+    QLabel *domStorageLabelPointer;
     KLineEdit *domainNameLineEditPointer;
     QWidget *domainSettingsWidgetPointer;
+    QListView *domainsListViewPointer;
     QSqlTableModel *domainsTableModelPointer;
+    QItemSelectionModel *domainsSelectionModelPointer;
+    QPalette highlightedPalette;
+    QWidget *javaScriptWidgetPointer;
     QComboBox *javaScriptComboBoxPointer;
     QLabel *javaScriptLabelPointer;
+    QWidget *localStorageWidgetPointer;
+    QComboBox *localStorageComboBoxPointer;
+    QLabel *localStorageLabelPointer;
     QPushButton *resetButtonPointer;
+    QWidget *userAgentWidgetPointer;
     QComboBox *userAgentComboBoxPointer;
+    UserAgentHelper *userAgentHelperPointer;
     QLabel *userAgentLabelPointer;
+    QWidget *zoomFactorWidgetPointer;
+    QComboBox *zoomFactorComboBoxPointer;
 
     // The private functions.
+    void populateDomStorageLabel() const;
     void populateJavaScriptLabel() const;
+    void populateLocalStorageLabel() const;
     void populateUserAgentLabel(const QString &userAgentName) const;
+    void updateDomStorageStatus() const;
     void updateUi() const;
 };
 #endif