17 |
17 |
18 class SendRefererWhitelistDialog(QDialog, Ui_SendRefererWhitelistDialog): |
18 class SendRefererWhitelistDialog(QDialog, Ui_SendRefererWhitelistDialog): |
19 """ |
19 """ |
20 Class implementing a dialog to manage the Send Referer whitelist. |
20 Class implementing a dialog to manage the Send Referer whitelist. |
21 """ |
21 """ |
|
22 |
22 def __init__(self, parent=None): |
23 def __init__(self, parent=None): |
23 """ |
24 """ |
24 Constructor |
25 Constructor |
25 |
26 |
26 @param parent reference to the parent widget (QWidget) |
27 @param parent reference to the parent widget (QWidget) |
27 """ |
28 """ |
28 super().__init__(parent) |
29 super().__init__(parent) |
29 self.setupUi(self) |
30 self.setupUi(self) |
30 |
31 |
31 self.__model = QStringListModel( |
32 self.__model = QStringListModel( |
32 Preferences.getWebBrowser("SendRefererWhitelist"), self) |
33 Preferences.getWebBrowser("SendRefererWhitelist"), self |
|
34 ) |
33 self.__model.sort(0) |
35 self.__model.sort(0) |
34 self.__proxyModel = QSortFilterProxyModel(self) |
36 self.__proxyModel = QSortFilterProxyModel(self) |
35 self.__proxyModel.setFilterCaseSensitivity( |
37 self.__proxyModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive) |
36 Qt.CaseSensitivity.CaseInsensitive) |
|
37 self.__proxyModel.setSourceModel(self.__model) |
38 self.__proxyModel.setSourceModel(self.__model) |
38 self.whitelist.setModel(self.__proxyModel) |
39 self.whitelist.setModel(self.__proxyModel) |
39 |
40 |
40 self.searchEdit.textChanged.connect( |
41 self.searchEdit.textChanged.connect(self.__proxyModel.setFilterFixedString) |
41 self.__proxyModel.setFilterFixedString) |
42 |
42 |
|
43 self.removeButton.clicked.connect(self.whitelist.removeSelected) |
43 self.removeButton.clicked.connect(self.whitelist.removeSelected) |
44 self.removeAllButton.clicked.connect(self.whitelist.removeAll) |
44 self.removeAllButton.clicked.connect(self.whitelist.removeAll) |
45 |
45 |
46 @pyqtSlot() |
46 @pyqtSlot() |
47 def on_addButton_clicked(self): |
47 def on_addButton_clicked(self): |
48 """ |
48 """ |
49 Private slot to add an entry to the whitelist. |
49 Private slot to add an entry to the whitelist. |
50 """ |
50 """ |
51 host, ok = QInputDialog.getText( |
51 host, ok = QInputDialog.getText( |
52 self, |
52 self, |
53 self.tr("Send Referer Whitelist"), |
53 self.tr("Send Referer Whitelist"), |
54 self.tr("Enter host name to add to the whitelist:"), |
54 self.tr("Enter host name to add to the whitelist:"), |
55 QLineEdit.EchoMode.Normal) |
55 QLineEdit.EchoMode.Normal, |
|
56 ) |
56 if ok and host != "" and host not in self.__model.stringList(): |
57 if ok and host != "" and host not in self.__model.stringList(): |
57 self.__model.insertRow(self.__model.rowCount()) |
58 self.__model.insertRow(self.__model.rowCount()) |
58 self.__model.setData( |
59 self.__model.setData(self.__model.index(self.__model.rowCount() - 1), host) |
59 self.__model.index(self.__model.rowCount() - 1), host) |
|
60 self.__model.sort(0) |
60 self.__model.sort(0) |
61 |
61 |
62 def accept(self): |
62 def accept(self): |
63 """ |
63 """ |
64 Public method to accept the dialog data. |
64 Public method to accept the dialog data. |
65 """ |
65 """ |
66 Preferences.setWebBrowser( |
66 Preferences.setWebBrowser("SendRefererWhitelist", self.__model.stringList()) |
67 "SendRefererWhitelist", self.__model.stringList()) |
67 |
68 |
|
69 super().accept() |
68 super().accept() |