src/eric7/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py

Sat, 26 Apr 2025 12:34:32 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 26 Apr 2025 12:34:32 +0200
branch
eric7
changeset 11240
c48c615c04a3
parent 11105
ec86fc991d28
permissions
-rw-r--r--

MicroPython
- Added a configuration option to disable the support for the no longer produced Pimoroni Pico Wireless Pack.

4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
11090
f5f5f5803935 Updated copyright for 2025.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10439
diff changeset
3 # Copyright (c) 2015 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the feature permission dialog.
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
10 import contextlib
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
11
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
12 from PyQt6.QtCore import Qt, pyqtSlot
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
13 from PyQt6.QtWidgets import QAbstractItemView, QDialog, QTreeWidget, QTreeWidgetItem
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
14
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
15 try:
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
16 # Qt 6.8+
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
17 from PyQt6.QtWebEngineCore import QWebEnginePermission
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
18 except ImportError:
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
19 # Qt <6.8
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
20 from PyQt6.QtWebEngineCore import QWebEnginePage
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
21
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
22 from eric7.EricGui import EricPixmapCache
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
23 from eric7.SystemUtilities import QtUtilities
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 from .Ui_FeaturePermissionsDialog import Ui_FeaturePermissionsDialog
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 class FeaturePermissionsDialog(QDialog, Ui_FeaturePermissionsDialog):
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 Class implementing the feature permission dialog.
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
32
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 def __init__(self, featurePermissions, parent=None):
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 Constructor
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
36
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 @param featurePermissions dictionary with remembered feature
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
38 permissions (Qt <6.8) or a list of permission objects (Qt 6.8+)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
39 @type dict of dict of list or list of QWebEnginePermission
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 @param parent reference to the parent widget
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 @type QWidget
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 """
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
43 super().__init__(parent)
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.setupUi(self)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
45
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
46 # add the various lists
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
47
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
48 self.notifList = QTreeWidget()
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
49 self.notifList.setAlternatingRowColors(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
50 self.notifList.setSelectionMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
51 QAbstractItemView.SelectionMode.ExtendedSelection
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
52 )
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
53 self.notifList.setRootIsDecorated(False)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
54 self.notifList.setItemsExpandable(False)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
55 self.notifList.setAllColumnsShowFocus(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
56 self.notifList.setObjectName("notifList")
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
57 self.notifList.setSortingEnabled(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
58 self.notifList.headerItem().setText(0, self.tr("Host"))
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
59 self.notifList.headerItem().setText(1, self.tr("Permission"))
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
60 self.tabWidget.addTab(
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
61 self.notifList,
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
62 EricPixmapCache.getIcon("notification"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
63 self.tr("Notifications"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
64 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
65
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
66 self.geoList = QTreeWidget()
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
67 self.geoList.setAlternatingRowColors(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
68 self.geoList.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
69 self.geoList.setRootIsDecorated(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
70 self.geoList.setItemsExpandable(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
71 self.geoList.setAllColumnsShowFocus(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
72 self.geoList.setObjectName("geoList")
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
73 self.geoList.setSortingEnabled(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
74 self.geoList.headerItem().setText(0, self.tr("Host"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
75 self.geoList.headerItem().setText(1, self.tr("Permission"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
76 self.tabWidget.addTab(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
77 self.geoList, EricPixmapCache.getIcon("geolocation"), self.tr("Geolocation")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
78 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
79
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
80 self.micList = QTreeWidget()
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
81 self.micList.setAlternatingRowColors(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
82 self.micList.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
83 self.micList.setRootIsDecorated(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
84 self.micList.setItemsExpandable(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
85 self.micList.setAllColumnsShowFocus(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
86 self.micList.setObjectName("micList")
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
87 self.micList.setSortingEnabled(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
88 self.micList.headerItem().setText(0, self.tr("Host"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
89 self.micList.headerItem().setText(1, self.tr("Permission"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
90 self.tabWidget.addTab(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
91 self.micList, EricPixmapCache.getIcon("audiocapture"), self.tr("Microphone")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
92 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
93
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
94 self.camList = QTreeWidget()
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
95 self.camList.setAlternatingRowColors(True)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
96 self.camList.setSelectionMode(QAbstractItemView.SelectionMode.ExtendedSelection)
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
97 self.camList.setRootIsDecorated(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
98 self.camList.setItemsExpandable(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
99 self.camList.setAllColumnsShowFocus(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
100 self.camList.setObjectName("camList")
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
101 self.camList.setSortingEnabled(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
102 self.camList.headerItem().setText(0, self.tr("Host"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
103 self.camList.headerItem().setText(1, self.tr("Permission"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
104 self.tabWidget.addTab(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
105 self.camList, EricPixmapCache.getIcon("camera"), self.tr("Camera")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
106 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
107
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
108 self.micCamList = QTreeWidget()
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
109 self.micCamList.setAlternatingRowColors(True)
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
110 self.micCamList.setSelectionMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
111 QAbstractItemView.SelectionMode.ExtendedSelection
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112 )
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
113 self.micCamList.setRootIsDecorated(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
114 self.micCamList.setItemsExpandable(False)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
115 self.micCamList.setAllColumnsShowFocus(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
116 self.micCamList.setObjectName("micCamList")
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
117 self.micCamList.setSortingEnabled(True)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
118 self.micCamList.headerItem().setText(0, self.tr("Host"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
119 self.micCamList.headerItem().setText(1, self.tr("Permission"))
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
120 self.tabWidget.addTab(
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
121 self.micCamList,
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
122 EricPixmapCache.getIcon("audio-video"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
123 self.tr("Microphone && Camera"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
124 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
125
4904
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
126 self.mouseLockList = QTreeWidget()
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
127 self.mouseLockList.setAlternatingRowColors(True)
4917
682750cc7bd5 Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4904
diff changeset
128 self.mouseLockList.setSelectionMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
129 QAbstractItemView.SelectionMode.ExtendedSelection
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
130 )
4904
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
131 self.mouseLockList.setRootIsDecorated(False)
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
132 self.mouseLockList.setItemsExpandable(False)
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
133 self.mouseLockList.setAllColumnsShowFocus(True)
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
134 self.mouseLockList.setObjectName("mouseLockList")
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
135 self.mouseLockList.setSortingEnabled(True)
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
136 self.mouseLockList.headerItem().setText(0, self.tr("Host"))
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
137 self.mouseLockList.headerItem().setText(1, self.tr("Permission"))
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
138 self.tabWidget.addTab(
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
139 self.mouseLockList, EricPixmapCache.getIcon("mouse"), self.tr("Mouse Lock")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
141
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
142 self.deskVidList = QTreeWidget()
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
143 self.deskVidList.setAlternatingRowColors(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
144 self.deskVidList.setSelectionMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
145 QAbstractItemView.SelectionMode.ExtendedSelection
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
146 )
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
147 self.deskVidList.setRootIsDecorated(False)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
148 self.deskVidList.setItemsExpandable(False)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
149 self.deskVidList.setAllColumnsShowFocus(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
150 self.deskVidList.setObjectName("deskVidList")
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
151 self.deskVidList.setSortingEnabled(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
152 self.deskVidList.headerItem().setText(0, self.tr("Host"))
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
153 self.deskVidList.headerItem().setText(1, self.tr("Permission"))
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
154 self.tabWidget.addTab(
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
155 self.deskVidList,
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
156 EricPixmapCache.getIcon("desktopVideoCapture"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
157 self.tr("Desktop Video"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
158 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
159
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
160 self.deskAudVidList = QTreeWidget()
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
161 self.deskAudVidList.setAlternatingRowColors(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
162 self.deskAudVidList.setSelectionMode(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
163 QAbstractItemView.SelectionMode.ExtendedSelection
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
164 )
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
165 self.deskAudVidList.setRootIsDecorated(False)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
166 self.deskAudVidList.setItemsExpandable(False)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
167 self.deskAudVidList.setAllColumnsShowFocus(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
168 self.deskAudVidList.setObjectName("deskAudVidList")
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
169 self.deskAudVidList.setSortingEnabled(True)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
170 self.deskAudVidList.headerItem().setText(0, self.tr("Host"))
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
171 self.deskAudVidList.headerItem().setText(1, self.tr("Permission"))
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
172 self.tabWidget.addTab(
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
173 self.deskAudVidList,
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
174 EricPixmapCache.getIcon("desktopAudioVideoCapture"),
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
175 self.tr("Desktop Audio && Video"),
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
176 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
177
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
178 if QtUtilities.qVersionTuple() >= (6, 8, 0):
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
179 # Qt 6.8+
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
180 self.clipboardList = QTreeWidget()
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
181 self.clipboardList.setAlternatingRowColors(True)
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
182 self.clipboardList.setSelectionMode(
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
183 QAbstractItemView.SelectionMode.ExtendedSelection
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
184 )
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
185 self.clipboardList.setRootIsDecorated(False)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
186 self.clipboardList.setItemsExpandable(False)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
187 self.clipboardList.setAllColumnsShowFocus(True)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
188 self.clipboardList.setObjectName("camList")
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
189 self.clipboardList.setSortingEnabled(True)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
190 self.clipboardList.headerItem().setText(0, self.tr("Host"))
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
191 self.clipboardList.headerItem().setText(1, self.tr("Permission"))
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
192 self.tabWidget.addTab(
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
193 self.clipboardList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
194 EricPixmapCache.getIcon("clipboard"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
195 self.tr("Clipboard"),
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
196 )
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
197
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
198 self.localFontsList = QTreeWidget()
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
199 self.localFontsList.setAlternatingRowColors(True)
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
200 self.localFontsList.setSelectionMode(
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
201 QAbstractItemView.SelectionMode.ExtendedSelection
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
202 )
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
203 self.localFontsList.setRootIsDecorated(False)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
204 self.localFontsList.setItemsExpandable(False)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
205 self.localFontsList.setAllColumnsShowFocus(True)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
206 self.localFontsList.setObjectName("camList")
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
207 self.localFontsList.setSortingEnabled(True)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
208 self.localFontsList.headerItem().setText(0, self.tr("Host"))
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
209 self.localFontsList.headerItem().setText(1, self.tr("Permission"))
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
210 self.tabWidget.addTab(
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
211 self.localFontsList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
212 EricPixmapCache.getIcon("font"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
213 self.tr("Local Fonts"),
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
214 )
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
215
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
216 self.setTabOrder(self.tabWidget, self.notifList)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
217 self.setTabOrder(self.notifList, self.geoList)
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
218 self.setTabOrder(self.geoList, self.micList)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
219 self.setTabOrder(self.micList, self.camList)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
220 self.setTabOrder(self.camList, self.micCamList)
4904
ea8f13f76d26 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4742
diff changeset
221 self.setTabOrder(self.micCamList, self.mouseLockList)
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
222 self.setTabOrder(self.mouseLockList, self.deskVidList)
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
223 self.setTabOrder(self.deskVidList, self.deskAudVidList)
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
224 if QtUtilities.qVersionTuple() >= (6, 8, 0):
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
225 # Qt 6.8+
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
226 self.setTabOrder(self.deskAudVidList, self.clipboardList)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
227 self.setTabOrder(self.clipboardList, self.localFontsList)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
228 self.setTabOrder(self.localFontsList, self.removeButton)
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
229 else:
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
230 self.setTabOrder(self.deskAudVidList, self.removeButton)
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
231 self.setTabOrder(self.removeButton, self.removeAllButton)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
232
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
233 if QtUtilities.qVersionTuple() >= (6, 8, 0):
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
234 # Qt 6.8+
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
235 self.__initializePermissionsList_qt68(featurePermissions)
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
236 else:
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
237 # Qt <6.8
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
238 self.__initializePermissionsList_qt67(featurePermissions)
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
239
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
240 self.__removedPermissions = []
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
241 self.__previousCurrent = -1
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
242 self.tabWidget.currentChanged.connect(self.__currentTabChanged)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
243 self.tabWidget.setCurrentIndex(0)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
244
11105
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
245 def __initializePermissionsList_qt68(self, permissions):
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
246 """
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
247 Private method to initialize the permission lists for Qt 6.8+.
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
248
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
249 @param permissions list of permission objects
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
250 @type list of QWebEnginePermission
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
251 """
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
252 self.__permissionStrings = {
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
253 QWebEnginePermission.State.Granted: self.tr("Allow"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
254 QWebEnginePermission.State.Denied: self.tr("Deny"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
255 QWebEnginePermission.State.Ask: self.tr("Always Ask"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
256 QWebEnginePermission.State.Invalid: self.tr("Invalid"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
257 }
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
258
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
259 self.__permissionsLists = {
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
260 QWebEnginePermission.PermissionType.Geolocation: self.geoList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
261 QWebEnginePermission.PermissionType.MediaAudioCapture: self.micList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
262 QWebEnginePermission.PermissionType.MediaVideoCapture: self.camList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
263 QWebEnginePermission.PermissionType.MediaAudioVideoCapture: self.micCamList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
264 QWebEnginePermission.PermissionType.MouseLock: self.mouseLockList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
265 QWebEnginePermission.PermissionType.DesktopVideoCapture: self.deskVidList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
266 QWebEnginePermission.PermissionType.DesktopAudioVideoCapture: (
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
267 self.deskAudVidList
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
268 ),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
269 QWebEnginePermission.PermissionType.Notifications: self.notifList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
270 QWebEnginePermission.PermissionType.ClipboardReadWrite: self.clipboardList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
271 QWebEnginePermission.PermissionType.LocalFontsAccess: self.localFontsList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
272 }
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
273
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
274 for permission in permissions:
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
275 with contextlib.suppress(KeyError):
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
276 permissionsList = self.__permissionsLists[permission.permissionType()]
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
277 itm = QTreeWidgetItem(
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
278 permissionsList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
279 [
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
280 permission.origin().toString(),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
281 self.__permissionStrings[permission.state()],
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
282 ],
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
283 )
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
284 itm.setData(0, Qt.ItemDataRole.UserRole, permission)
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
285 for permissionsList in self.__permissionsLists.values():
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
286 permissionsList.resizeColumnToContents(0)
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
287
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
288 def __initializePermissionsList_qt67(self, permissions):
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
289 """
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
290 Private method to initialize the permission lists for Qt <6.8.
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
291
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
292 @param permissions dictionary with remembered feature permissions
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
293 @type dict of dict of list
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
294 """
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
295 self.__permissionStrings = {
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
296 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: self.tr("Allow"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
297 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: self.tr("Deny"),
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
298 }
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
299
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
300 self.__permissionsLists = {
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
301 QWebEnginePage.Feature.Geolocation: self.geoList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
302 QWebEnginePage.Feature.MediaAudioCapture: self.micList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
303 QWebEnginePage.Feature.MediaVideoCapture: self.camList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
304 QWebEnginePage.Feature.MediaAudioVideoCapture: self.micCamList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
305 QWebEnginePage.Feature.MouseLock: self.mouseLockList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
306 QWebEnginePage.Feature.DesktopVideoCapture: self.deskVidList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
307 QWebEnginePage.Feature.DesktopAudioVideoCapture: self.deskAudVidList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
308 QWebEnginePage.Feature.Notifications: self.notifList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
309 }
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
310
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
311 for feature, permissionsList in self.__permissionsLists.items():
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
312 for permission in permissions[feature]:
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
313 for host in permissions[feature][permission]:
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
314 itm = QTreeWidgetItem(
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
315 permissionsList,
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
316 [host, self.__permissionStrings[permission]],
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
317 )
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
318 itm.setData(0, Qt.ItemDataRole.UserRole, permission)
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
319 permissionsList.resizeColumnToContents(0)
ec86fc991d28 Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11102
diff changeset
320
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
321 @pyqtSlot(int)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
322 def __currentTabChanged(self, index):
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
324 Private slot handling changes of the selected tab.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
325
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
326 @param index index of the current tab
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
327 @type int
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
329 if self.__previousCurrent >= 0:
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
330 previousList = self.tabWidget.widget(self.__previousCurrent)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
331 previousList.itemSelectionChanged.disconnect(self.__itemSelectionChanged)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
332
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
333 self.__updateButtons()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
334
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
335 currentList = self.tabWidget.currentWidget()
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
336 currentList.itemSelectionChanged.connect(self.__itemSelectionChanged)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
337 self.__previousCurrent = index
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
338
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
339 def __updateButtons(self):
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
340 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
341 Private method to update the buttons.
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
342 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
343 currentList = self.tabWidget.currentWidget()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
344 self.removeAllButton.setEnabled(currentList.topLevelItemCount() > 0)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
345 self.removeButton.setEnabled(len(currentList.selectedItems()) > 0)
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
346
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 @pyqtSlot()
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
348 def __itemSelectionChanged(self):
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
350 Private slot handling changes in the current list of selected items.
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
352 self.__updateButtons()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
353
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 @pyqtSlot()
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
355 def on_removeButton_clicked(self):
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
357 Private slot to remove selected entries.
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
359 currentList = self.tabWidget.currentWidget()
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
360 for itm in currentList.selectedItems():
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
361 row = currentList.indexOfTopLevelItem(itm)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
362 itm = currentList.takeTopLevelItem(row)
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
363 self.__removedPermissions.append(itm.data(0, Qt.ItemDataRole.UserRole))
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 del itm
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
365 self.__updateButtons()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
366
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
367 @pyqtSlot()
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
368 def on_removeAllButton_clicked(self):
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
369 """
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
370 Private slot to remove all entries.
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 """
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
372 currentList = self.tabWidget.currentWidget()
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
373 while currentList.topLevelItemCount() > 0:
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
374 itm = currentList.takeTopLevelItem(0) # __IGNORE_WARNING__
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
375 self.__removedPermissions.append(itm.data(0, Qt.ItemDataRole.UserRole))
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 del itm
8561
641304b46f08 Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8553
diff changeset
377 self.__updateButtons()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
378
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 def getData(self):
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 """
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 Public method to retrieve the dialog contents.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
382
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383 @return new feature permission settings
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 @rtype dict of dict of list
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 """
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
386 # Qt <6.8
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
387 featurePermissions = {}
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
388 for feature, permissionsList in self.__permissionsLists.items():
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
389 featurePermissions[feature] = {
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
390 QWebEnginePage.PermissionPolicy.PermissionGrantedByUser: [],
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
391 QWebEnginePage.PermissionPolicy.PermissionDeniedByUser: [],
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
392 }
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
393 for row in range(permissionsList.topLevelItemCount()):
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
394 itm = permissionsList.topLevelItem(row)
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
395 host = itm.text(0)
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
396 permission = itm.data(0, Qt.ItemDataRole.UserRole)
4742
f9d1090f6ab9 Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
397 featurePermissions[feature][permission].append(host)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
398
4356
975993ebd7fb Finished implementing the HTML5 feature permission manager and associated dialogs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 return featurePermissions
11102
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
400
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
401 def persistChanges(self):
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
402 """
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
403 Public method to persist the removed permissions.
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
404 """
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
405 # Qt 6.8+
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
406 for permission in self.__removedPermissions:
ceabb30155b8 Adapted the web browser to Qt 6.8.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11090
diff changeset
407 permission.reset()

eric ide

mercurial