Wed, 18 Dec 2024 17:40:14 +0100
Added an entry to the 'Clear Private Data' dialog for website permissions.
--- a/src/eric7/WebBrowser/Ui_WebBrowserClearPrivateDataDialog.py Wed Dec 18 17:20:28 2024 +0100 +++ b/src/eric7/WebBrowser/Ui_WebBrowserClearPrivateDataDialog.py Wed Dec 18 17:40:14 2024 +0100 @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.ui' # -# Created by: PyQt6 UI code generator 6.7.0 +# Created by: PyQt6 UI code generator 6.8.0 # # WARNING: Any manual changes made to this file will be lost when pyuic6 is # run again. Do not edit this file unless you know what you are doing. @@ -58,6 +58,9 @@ self.iconsCheckBox.setChecked(True) self.iconsCheckBox.setObjectName("iconsCheckBox") self.verticalLayout.addWidget(self.iconsCheckBox) + self.permissionsCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog) + self.permissionsCheckBox.setObjectName("permissionsCheckBox") + self.verticalLayout.addWidget(self.permissionsCheckBox) self.passwordsCheckBox = QtWidgets.QCheckBox(parent=WebBrowserClearPrivateDataDialog) self.passwordsCheckBox.setChecked(False) self.passwordsCheckBox.setObjectName("passwordsCheckBox") @@ -87,7 +90,8 @@ WebBrowserClearPrivateDataDialog.setTabOrder(self.downloadsCheckBox, self.cookiesCheckBox) WebBrowserClearPrivateDataDialog.setTabOrder(self.cookiesCheckBox, self.cacheCheckBox) WebBrowserClearPrivateDataDialog.setTabOrder(self.cacheCheckBox, self.iconsCheckBox) - WebBrowserClearPrivateDataDialog.setTabOrder(self.iconsCheckBox, self.passwordsCheckBox) + WebBrowserClearPrivateDataDialog.setTabOrder(self.iconsCheckBox, self.permissionsCheckBox) + WebBrowserClearPrivateDataDialog.setTabOrder(self.permissionsCheckBox, self.passwordsCheckBox) WebBrowserClearPrivateDataDialog.setTabOrder(self.passwordsCheckBox, self.zoomCheckBox) WebBrowserClearPrivateDataDialog.setTabOrder(self.zoomCheckBox, self.sslExceptionsCheckBox) @@ -95,7 +99,7 @@ _translate = QtCore.QCoreApplication.translate WebBrowserClearPrivateDataDialog.setWindowTitle(_translate("WebBrowserClearPrivateDataDialog", "Clear Private Data")) self.historyCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the browsing history")) - self.historyCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Browsing History")) + self.historyCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Browsing History")) self.historyCombo.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select the history period to be deleted")) self.historyCombo.setItemText(0, _translate("WebBrowserClearPrivateDataDialog", "Last Hour")) self.historyCombo.setItemText(1, _translate("WebBrowserClearPrivateDataDialog", "Last Day")) @@ -103,17 +107,19 @@ self.historyCombo.setItemText(3, _translate("WebBrowserClearPrivateDataDialog", "Last 4 Weeks")) self.historyCombo.setItemText(4, _translate("WebBrowserClearPrivateDataDialog", "Whole Period")) self.searchCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the search history")) - self.searchCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Search History")) + self.searchCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Search History")) self.downloadsCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the download history")) - self.downloadsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Download &History")) + self.downloadsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Download History")) self.cookiesCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the cookies")) - self.cookiesCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Cookies")) + self.cookiesCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Cookies")) self.cacheCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the disk cache")) - self.cacheCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Cached &Web Pages")) + self.cacheCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Cached Web Pages")) self.iconsCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the website icons")) - self.iconsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Website &Icons")) + self.iconsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Website Icons")) + self.permissionsCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the website permissions")) + self.permissionsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Website Permissions")) self.passwordsCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to clear the saved passwords")) - self.passwordsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Saved &Passwords")) + self.passwordsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Saved Passwords")) self.zoomCheckBox.setToolTip(_translate("WebBrowserClearPrivateDataDialog", "Select to delete all remembered zoom settings")) - self.zoomCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "&Zoom Settings")) + self.zoomCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "Zoom Settings")) self.sslExceptionsCheckBox.setText(_translate("WebBrowserClearPrivateDataDialog", "SSL Certificate Error Exceptions"))
--- a/src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.py Wed Dec 18 17:20:28 2024 +0100 +++ b/src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.py Wed Dec 18 17:40:14 2024 +0100 @@ -9,6 +9,8 @@ from PyQt6.QtWidgets import QDialog +from eric7.SystemUtilities import QtUtilities + from .Ui_WebBrowserClearPrivateDataDialog import Ui_WebBrowserClearPrivateDataDialog @@ -27,6 +29,8 @@ super().__init__(parent) self.setupUi(self) + self.permissionsCheckBox.setEnabled(QtUtilities.qVersionTuple() >= (6, 8, 0)) + msh = self.minimumSizeHint() self.resize(max(self.width(), msh.width()), msh.height()) @@ -36,9 +40,10 @@ @return tuple with flags indicating which data to clear (browsing history, search history, favicons, disk cache, cookies, - passwords, downloads, zoom values, SSL certificate error exceptions) and - the selected history period in milliseconds - @rtype tuple of (bool, bool, bool, bool, bool, bool, bool, bool, bool, int) + passwords, downloads, zoom values, SSL certificate error exceptions, + website permissions) and the selected history period in milliseconds + @rtype tuple of (bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, + int) """ index = self.historyCombo.currentIndex() if index == 0: @@ -67,5 +72,8 @@ self.downloadsCheckBox.isChecked(), self.zoomCheckBox.isChecked(), self.sslExceptionsCheckBox.isChecked(), + self.permissionsCheckBox.isChecked() + if QtUtilities.qVersionTuple() >= (6, 8, 0) + else False, historyPeriod, )
--- a/src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.ui Wed Dec 18 17:20:28 2024 +0100 +++ b/src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.ui Wed Dec 18 17:40:14 2024 +0100 @@ -23,7 +23,7 @@ <string>Select to clear the browsing history</string> </property> <property name="text"> - <string>&Browsing History</string> + <string>Browsing History</string> </property> <property name="checked"> <bool>true</bool> @@ -35,7 +35,7 @@ <item> <spacer name="horizontalSpacer"> <property name="orientation"> - <enum>Qt::Horizontal</enum> + <enum>Qt::Orientation::Horizontal</enum> </property> <property name="sizeHint" stdset="0"> <size> @@ -91,7 +91,7 @@ <string>Select to clear the search history</string> </property> <property name="text"> - <string>&Search History</string> + <string>Search History</string> </property> <property name="checked"> <bool>true</bool> @@ -104,7 +104,7 @@ <string>Select to clear the download history</string> </property> <property name="text"> - <string>Download &History</string> + <string>Download History</string> </property> <property name="checked"> <bool>true</bool> @@ -117,7 +117,7 @@ <string>Select to clear the cookies</string> </property> <property name="text"> - <string>&Cookies</string> + <string>Cookies</string> </property> <property name="checked"> <bool>true</bool> @@ -130,7 +130,7 @@ <string>Select to clear the disk cache</string> </property> <property name="text"> - <string>Cached &Web Pages</string> + <string>Cached Web Pages</string> </property> <property name="checked"> <bool>true</bool> @@ -143,7 +143,7 @@ <string>Select to clear the website icons</string> </property> <property name="text"> - <string>Website &Icons</string> + <string>Website Icons</string> </property> <property name="checked"> <bool>true</bool> @@ -151,12 +151,22 @@ </widget> </item> <item> + <widget class="QCheckBox" name="permissionsCheckBox"> + <property name="toolTip"> + <string>Select to clear the website permissions</string> + </property> + <property name="text"> + <string>Website Permissions</string> + </property> + </widget> + </item> + <item> <widget class="QCheckBox" name="passwordsCheckBox"> <property name="toolTip"> <string>Select to clear the saved passwords</string> </property> <property name="text"> - <string>Saved &Passwords</string> + <string>Saved Passwords</string> </property> <property name="checked"> <bool>false</bool> @@ -169,7 +179,7 @@ <string>Select to delete all remembered zoom settings</string> </property> <property name="text"> - <string>&Zoom Settings</string> + <string>Zoom Settings</string> </property> <property name="checked"> <bool>true</bool> @@ -189,10 +199,10 @@ <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="orientation"> - <enum>Qt::Horizontal</enum> + <enum>Qt::Orientation::Horizontal</enum> </property> <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + <set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set> </property> </widget> </item> @@ -206,6 +216,7 @@ <tabstop>cookiesCheckBox</tabstop> <tabstop>cacheCheckBox</tabstop> <tabstop>iconsCheckBox</tabstop> + <tabstop>permissionsCheckBox</tabstop> <tabstop>passwordsCheckBox</tabstop> <tabstop>zoomCheckBox</tabstop> <tabstop>sslExceptionsCheckBox</tabstop>
--- a/src/eric7/WebBrowser/WebBrowserWindow.py Wed Dec 18 17:20:28 2024 +0100 +++ b/src/eric7/WebBrowser/WebBrowserWindow.py Wed Dec 18 17:40:14 2024 +0100 @@ -4176,12 +4176,11 @@ """ from .WebBrowserClearPrivateDataDialog import WebBrowserClearPrivateDataDialog - # TODO: add entry "Website Permissions" dlg = WebBrowserClearPrivateDataDialog(parent=self) if dlg.exec() == QDialog.DialogCode.Accepted: # browsing history, search history, favicons, disk cache, cookies, # passwords, web databases, downloads, zoom values, SSL error - # exceptions, history period + # exceptions, website permissions, history period ( history, searches, @@ -4192,6 +4191,7 @@ downloads, zoomValues, sslExceptions, + permissions, historyPeriod, ) = dlg.getData() if history: @@ -4221,7 +4221,9 @@ ZoomManager.instance().clear() if sslExceptions: self.networkManager().clearSslExceptions() - # TODO: add entry "Website Permissions" + if permissions and QtUtilities.qVersionTuple() >= (6, 8, 0): + for permission in self.webProfile().listAllPermissions(): + permission.reset() @pyqtSlot() def __showEnginesConfigurationDialog(self):