Added an entry to the 'Clear Private Data' dialog for website permissions. eric7

Wed, 18 Dec 2024 17:40:14 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 18 Dec 2024 17:40:14 +0100
branch
eric7
changeset 11104
683af9c45c5b
parent 11103
382e5c9a43f0
child 11105
ec86fc991d28

Added an entry to the 'Clear Private Data' dialog for website permissions.

src/eric7/WebBrowser/Ui_WebBrowserClearPrivateDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.py file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/WebBrowserClearPrivateDataDialog.ui file | annotate | diff | comparison | revisions
src/eric7/WebBrowser/WebBrowserWindow.py file | annotate | diff | comparison | revisions
--- 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>&amp;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>&amp;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 &amp;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>&amp;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 &amp;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 &amp;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 &amp;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>&amp;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):

eric ide

mercurial