Sun, 16 May 2021 20:07:24 +0200
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
3 | # Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a dialog to configure safe browsing support. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
10 | from PyQt6.QtCore import pyqtSlot, Qt, QUrl, QDateTime |
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
11 | from PyQt6.QtWidgets import ( |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
12 | QDialog, QDialogButtonBox, QAbstractButton |
7269
0c63ea7f94bd
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
13 | ) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from E5Gui import E5MessageBox |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
16 | from E5Gui.E5OverrideCursor import E5OverrideCursor |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | from .Ui_SafeBrowsingDialog import Ui_SafeBrowsingDialog |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | import UI.PixmapCache |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | import Preferences |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | class SafeBrowsingDialog(QDialog, Ui_SafeBrowsingDialog): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | Class implementing a dialog to configure safe browsing support. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | def __init__(self, manager, parent=None): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | Constructor |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | @param manager reference to the safe browsing manager |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | @type SafeBrowsingManager |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | @param parent reference to the parent widget |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | @type QWidget |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
37 | super().__init__(parent) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.setupUi(self) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
39 | self.setWindowFlags(Qt.WindowType.Window) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | self.__manager = manager |
5821
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
42 | self.__manager.progressMessage.connect(self.__setProgressMessage) |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
43 | self.__manager.progress.connect(self.__setProgress) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | self.iconLabel.setPixmap( |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
46 | UI.PixmapCache.getPixmap("safeBrowsing48")) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | self.__gsbHelpDialog = None |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.__enabled = Preferences.getWebBrowser("SafeBrowsingEnabled") |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.__apiKey = Preferences.getWebBrowser("SafeBrowsingApiKey") |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
52 | self.__filterPlatform = Preferences.getWebBrowser( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
53 | "SafeBrowsingFilterPlatform") |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
54 | self.__automaticUpdate = Preferences.getWebBrowser( |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
55 | "SafeBrowsingAutoUpdate") |
6233
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
56 | self.__useLookupApi = Preferences.getWebBrowser( |
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
57 | "SafeBrowsingUseLookupApi") |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | self.buttonBox.setFocus() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | msh = self.minimumSizeHint() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | self.resize(max(self.width(), msh.width()), msh.height()) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | def show(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | Public slot to show the dialog. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | self.gsbGroupBox.setChecked(self.__enabled) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | self.gsbApiKeyEdit.setText(self.__apiKey) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
70 | self.gsbFilterPlatformCheckBox.setChecked(self.__filterPlatform) |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
71 | self.gsbAutoUpdateCheckBox.setChecked(self.__automaticUpdate) |
6233
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
72 | self.gsbLookupCheckBox.setChecked(self.__useLookupApi) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | self.__updateCacheButtons() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8143
diff
changeset
|
76 | super().show() |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | @pyqtSlot() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | def on_gsbHelpButton_clicked(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | Private slot to show some help text "How to create a safe |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | browsing API key.". |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | if self.__gsbHelpDialog is None: |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | from E5Gui.E5SimpleHelpDialog import E5SimpleHelpDialog |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | from . import SafeBrowsingHelp |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | helpStr = SafeBrowsingHelp() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | self.__gsbHelpDialog = E5SimpleHelpDialog( |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | title=self.tr("Google Safe Browsing API Help"), |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | helpStr=helpStr, parent=self) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | self.__gsbHelpDialog.show() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | @pyqtSlot(QAbstractButton) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | def on_buttonBox_clicked(self, button): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | Private slot called by a button of the button box clicked. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | @param button button that was clicked (QAbstractButton) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
102 | if button == self.buttonBox.button( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
103 | QDialogButtonBox.StandardButton.Close |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
104 | ): |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | self.close() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | @pyqtSlot() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | def __save(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | Private slot to save the configuration. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | @return flag indicating success |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | @rtype bool |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | self.__enabled = self.gsbGroupBox.isChecked() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | self.__apiKey = self.gsbApiKeyEdit.text() |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
117 | self.__filterPlatform = self.gsbFilterPlatformCheckBox.isChecked() |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
118 | self.__automaticUpdate = self.gsbAutoUpdateCheckBox.isChecked() |
6233
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
119 | self.__useLookupApi = self.gsbLookupCheckBox.isChecked() |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | Preferences.setWebBrowser("SafeBrowsingEnabled", self.__enabled) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | Preferences.setWebBrowser("SafeBrowsingApiKey", self.__apiKey) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
123 | Preferences.setWebBrowser("SafeBrowsingFilterPlatform", |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
124 | self.__filterPlatform) |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
125 | Preferences.setWebBrowser("SafeBrowsingAutoUpdate", |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
126 | self.__automaticUpdate) |
6233
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
127 | Preferences.setWebBrowser("SafeBrowsingUseLookupApi", |
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
128 | self.__useLookupApi) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | self.__manager.configurationChanged() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | self.__updateCacheButtons() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | return True |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | def closeEvent(self, evt): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | Protected method to handle close events. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | @param evt reference to the close event |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | @type QCloseEvent |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
143 | if self.__okToClose(): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
144 | evt.accept() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | else: |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | evt.ignore() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | def __isModified(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | Private method to check, if the dialog contains modified data. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | @return flag indicating the presence of modified data |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
153 | @rtype bool |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
154 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | return ( |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
156 | (self.__enabled != self.gsbGroupBox.isChecked()) or |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
157 | (self.__apiKey != self.gsbApiKeyEdit.text()) or |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
158 | (self.__filterPlatform != |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
159 | self.gsbFilterPlatformCheckBox.isChecked()) or |
6233
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
160 | (self.__automaticUpdate != |
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
161 | self.gsbAutoUpdateCheckBox.isChecked()) or |
a64b986abb54
Web Browser (NG), Safe Browsing: added support for the Google Safe Browsing Lookup API (v4)
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6230
diff
changeset
|
162 | (self.__useLookupApi != self.gsbLookupCheckBox.isChecked()) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
163 | ) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
164 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | def __okToClose(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
167 | Private method to check, if it is safe to close the dialog. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
168 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | @return flag indicating safe to close |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | @rtype bool |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | if self.__isModified(): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | res = E5MessageBox.okToClearData( |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | self, |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | self.tr("Safe Browsing Management"), |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | self.tr("""The dialog contains unsaved changes."""), |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | self.__save) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
178 | if not res: |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | return False |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | return True |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | def __updateCacheButtons(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
183 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
184 | Private method to set enabled state of the cache buttons. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | enable = self.__enabled and bool(self.__apiKey) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | self.updateCacheButton.setEnabled(enable) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | self.clearCacheButton.setEnabled(enable) |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
190 | |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
191 | self.showUpdateTimeButton.setEnabled(enable and self.__automaticUpdate) |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | @pyqtSlot() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | def on_updateCacheButton_clicked(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | Private slot to update the local cache database. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | """ |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
198 | E5MessageBox.information( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
199 | self, |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
200 | self.tr("Update Safe Browsing Cache"), |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
201 | self.tr("""Updating the Safe Browsing cache might be a lengthy""" |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
202 | """ operation. Please be patient!""")) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
203 | |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
204 | with E5OverrideCursor(): |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
205 | ok, error = self.__manager.updateHashPrefixCache() |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
206 | self.__resetProgress() |
5820
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | if not ok: |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | if error: |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | E5MessageBox.critical( |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | self, |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | self.tr("Update Safe Browsing Cache"), |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | self.tr("""<p>Updating the Safe Browsing cache failed.""" |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | """</p><p>Reason: {0}</p>""").format(error)) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | else: |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | E5MessageBox.critical( |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | self, |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | self.tr("Update Safe Browsing Cache"), |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | self.tr("""<p>Updating the Safe Browsing cache failed.""" |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | """</p>""")) |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | @pyqtSlot() |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | def on_clearCacheButton_clicked(self): |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | """ |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | Private slot to clear the local cache database. |
b610cb5b501a
Started implementing the safe browsing manager and management dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | """ |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
226 | res = E5MessageBox.yesNo( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
227 | self, |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
228 | self.tr("Clear Safe Browsing Cache"), |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
229 | self.tr("""Do you really want to clear the Safe Browsing cache?""" |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
230 | """ Re-populating it might take some time.""")) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
231 | if res: |
7771
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
232 | with E5OverrideCursor(): |
787a6b3f8c9f
Optimized the use of Waiting Cursors by using a specialized context manager class.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
233 | self.__manager.fullCacheCleanup() |
5821
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
234 | |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
235 | @pyqtSlot(str, int) |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
236 | def __setProgressMessage(self, message, maximum): |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
237 | """ |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
238 | Private slot to set the progress message and the maximum value. |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
239 | |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
240 | @param message progress message to be set |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
241 | @type str |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
242 | @param maximum maximum value to be set |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
243 | @type int |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
244 | """ |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
245 | self.progressLabel.setText(message) |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
246 | self.progressBar.setMaximum(maximum) |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
247 | self.progressBar.setValue(0) |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
248 | |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
249 | @pyqtSlot(int) |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
250 | def __setProgress(self, value): |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
251 | """ |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
252 | Private slot to set the progress value. |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
253 | |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
254 | @param value progress value to be set |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
255 | @type int |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
256 | """ |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
257 | if bool(self.progressLabel.text()): |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
258 | self.progressBar.setValue(value) |
5821
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
259 | |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
260 | def __resetProgress(self): |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
261 | """ |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
262 | Private method to reset the progress info. |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
263 | """ |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
264 | self.progressLabel.clear() |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
265 | self.progressBar.setMaximum(100) |
6c7766cde4c1
Added a progress bar to the management part and fine tuned the hash prefix update process.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5820
diff
changeset
|
266 | self.progressBar.setValue(0) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
267 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
268 | @pyqtSlot(str) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
269 | def on_urlEdit_textChanged(self, text): |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
270 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
271 | Private slot to handle changes of the entered URL text. |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
272 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
273 | @param text entered URL text |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
274 | @type str |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
275 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
276 | url = QUrl.fromUserInput(text) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
277 | enable = ( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
278 | url.isValid() and |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
279 | bool(url.scheme()) and |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
280 | url.scheme() not in self.__manager.getIgnoreSchemes() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
281 | ) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
282 | self.urlCheckButton.setEnabled(enable) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
283 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
284 | @pyqtSlot() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
285 | def on_urlCheckButton_clicked(self): |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
286 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
287 | Private slot to check the entered URL. |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
288 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
289 | # Malicious URL for testing: |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
290 | # http://malware.testing.google.test/testing/malware/* |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
291 | # http://ianfette.org |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
292 | # |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
293 | urlStr = self.urlEdit.text() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
294 | url = QUrl.fromUserInput(urlStr) |
6234
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
295 | threatLists, error = self.__manager.lookupUrl(url) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
296 | |
6234
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
297 | if error: |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
298 | E5MessageBox.warning( |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
299 | self, |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
300 | self.tr("Check URL"), |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
301 | self.tr("<p>The Google Safe Browsing Server reported an" |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
302 | " error.</p><p>{0}</p>").format(error) |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
303 | ) |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
304 | elif threatLists: |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
305 | threatMessages = self.__manager.getThreatMessages(threatLists) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
306 | E5MessageBox.warning( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
307 | self, |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
308 | self.tr("Check URL"), |
6234
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
309 | self.tr("<p>The URL <b>{0}</b> was found in the Safe" |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
310 | " Browsing Database.</p>{1}").format( |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
311 | urlStr, "".join(threatMessages)) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
312 | ) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
313 | else: |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
314 | E5MessageBox.information( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
315 | self, |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
316 | self.tr("Check URL"), |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
317 | self.tr("<p>The URL <b>{0}</b> was not found in the Safe" |
6234
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
318 | " Browsing Database and may be considered safe." |
fb1f9e681848
Web Browser NG, Safe Browsing: improved error handling
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6233
diff
changeset
|
319 | "</p>") |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
320 | .format(urlStr) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
321 | ) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
322 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
323 | @pyqtSlot() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
324 | def on_saveButton_clicked(self): |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
325 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
326 | Private slot to save the configuration data. |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
327 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5821
diff
changeset
|
328 | self.__save() |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
329 | |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
330 | @pyqtSlot() |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
331 | def on_showUpdateTimeButton_clicked(self): |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
332 | """ |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
333 | Private slot to show the time of the next automatic threat list update. |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
334 | """ |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
335 | nextUpdateDateTime = Preferences.getWebBrowser( |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
336 | "SafeBrowsingUpdateDateTime") |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
337 | message = ( |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
338 | self.tr("The next automatic threat list update will be done now.") |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
339 | if (not nextUpdateDateTime.isValid() or |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
340 | nextUpdateDateTime <= QDateTime.currentDateTime()) else |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
341 | self.tr("<p>The next automatic threat list update will be done at" |
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
342 | " <b>{0}</b>.</p>").format( |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
343 | nextUpdateDateTime.toString("yyyy-MM-dd, HH:mm:ss")) |
8260
2161475d9639
Applied some more code simplifications suggested by the new Simplify checker (Y108: use ternary operator).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
344 | ) |
5839
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
345 | |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
346 | E5MessageBox.information( |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
347 | self, |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
348 | self.tr("Update Time"), |
fe4d62e23908
Added an auto-update feature to the safe browsing manager of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5829
diff
changeset
|
349 | message) |