2 * Copyright 2024 Soren Stoutner <soren@stoutner.com>.
4 * This file is part of Privacy Browser PC <https://www.stoutner.com/privacy-browser-pc/>.
6 * Privacy Browser PC is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * Privacy Browser PC is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with Privacy Browser PC. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef FILTERENTRYDIALOG_H
21 #define FILTERENTRYDIALOG_H
23 // Qt toolkit headers.
26 #include <QTableWidget>
28 class FilterEntryDialog : public QDialog
30 // Include the Q_OBJECT macro.
34 // The primary constructor.
35 explicit FilterEntryDialog(QWidget *parentWidgetPointer, QTableWidget *tableWidgetPointer, const int initialRow, const QString &filterListTitle, const QString &sublistTitle);
43 // The private variables.
44 QLineEdit *appliedEntryListLineEditPointer;
45 QLineEdit *appliedFilterOptionsLineEditPointer;
47 QLineEdit *domainLineEditPointer;
48 QLineEdit *domainListLineEditPointer;
49 QLineEdit *finalMatchLineEditPointer;
50 QLineEdit *fontLineEditPointer;
51 QCheckBox *hasRequestOptionsCheckBoxPointer;
52 QLineEdit *imageLineEditPointer;
53 QLineEdit *initialMatchLineEditPointer;
54 QLineEdit *mainFrameLineEditPointer;
55 QLineEdit *mediaLineEditPointer;
56 QPalette negativeBackgroundPalette;
57 QPushButton *nextButtonPointer;
58 QPalette normalBackgroundPalette;
59 QLineEdit *objectLineEditPointer;
60 QLineEdit *originalEntryLineEditPointer;
61 QLineEdit *originalFilterOptionsLineEditPointer;
62 QLineEdit *otherLineEditPointer;
63 QLineEdit *pingLineEditPointer;
64 QPalette positiveBackgroundPalette;
65 QPushButton *previousButtonPointer;
66 QLineEdit *scriptLineEditPointer;
67 QLineEdit *styleSheetLineEditPointer;
68 QLineEdit *subFrameLineEditPointer;
69 QTableWidget *tableWidgetPointer;
70 QLineEdit *thirdPartyLineEditPointer;
71 QLineEdit *xmlHttpRequestLineEditPointer;
73 // The private functions.
74 void populateDialog(const int row);
75 void setFilterOptionBackgroundPalette(QLineEdit *lineEditPointer);
76 void setInitialAndFinalMatchBackgroundPalette(QLineEdit *lineEditPointer);