35 """ |
35 """ |
36 super(FeaturePermissionsDialog, self).__init__(parent) |
36 super(FeaturePermissionsDialog, self).__init__(parent) |
37 self.setupUi(self) |
37 self.setupUi(self) |
38 |
38 |
39 # add the various lists |
39 # add the various lists |
|
40 |
|
41 if hasattr(QWebEnginePage, "Notifications"): |
|
42 # this was re-added in Qt 5.13.0 |
|
43 self.notifList = QTreeWidget() |
|
44 self.notifList.setAlternatingRowColors(True) |
|
45 self.notifList.setSelectionMode( |
|
46 QAbstractItemView.ExtendedSelection) |
|
47 self.notifList.setRootIsDecorated(False) |
|
48 self.notifList.setItemsExpandable(False) |
|
49 self.notifList.setAllColumnsShowFocus(True) |
|
50 self.notifList.setObjectName("notifList") |
|
51 self.notifList.setSortingEnabled(True) |
|
52 self.notifList.headerItem().setText(0, self.tr("Host")) |
|
53 self.notifList.headerItem().setText(1, self.tr("Permission")) |
|
54 self.tabWidget.addTab( |
|
55 self.notifList, |
|
56 UI.PixmapCache.getIcon("notification.png"), |
|
57 self.tr("Notifications")) |
40 |
58 |
41 self.geoList = QTreeWidget() |
59 self.geoList = QTreeWidget() |
42 self.geoList.setAlternatingRowColors(True) |
60 self.geoList.setAlternatingRowColors(True) |
43 self.geoList.setSelectionMode(QAbstractItemView.ExtendedSelection) |
61 self.geoList.setSelectionMode(QAbstractItemView.ExtendedSelection) |
44 self.geoList.setRootIsDecorated(False) |
62 self.geoList.setRootIsDecorated(False) |
146 self.tabWidget.addTab( |
164 self.tabWidget.addTab( |
147 self.deskAudVidList, |
165 self.deskAudVidList, |
148 UI.PixmapCache.getIcon("desktopAudioVideoCapture.png"), |
166 UI.PixmapCache.getIcon("desktopAudioVideoCapture.png"), |
149 self.tr("Desktop Audio && Video")) |
167 self.tr("Desktop Audio && Video")) |
150 |
168 |
151 self.setTabOrder(self.tabWidget, self.geoList) |
169 if hasattr(QWebEnginePage, "Notifications"): |
|
170 self.setTabOrder(self.tabWidget, self.notifList) |
|
171 self.setTabOrder(self.notifList, self.geoList) |
|
172 else: |
|
173 self.setTabOrder(self.tabWidget, self.geoList) |
152 self.setTabOrder(self.geoList, self.micList) |
174 self.setTabOrder(self.geoList, self.micList) |
153 self.setTabOrder(self.micList, self.camList) |
175 self.setTabOrder(self.micList, self.camList) |
154 self.setTabOrder(self.camList, self.micCamList) |
176 self.setTabOrder(self.camList, self.micCamList) |
155 self.setTabOrder(self.micCamList, self.mouseLockList) |
177 self.setTabOrder(self.micCamList, self.mouseLockList) |
156 if hasattr(QWebEnginePage, "DesktopVideoCapture"): |
178 if hasattr(QWebEnginePage, "DesktopVideoCapture"): |
176 if hasattr(QWebEnginePage, "DesktopVideoCapture"): |
198 if hasattr(QWebEnginePage, "DesktopVideoCapture"): |
177 self.__permissionsLists.update({ |
199 self.__permissionsLists.update({ |
178 QWebEnginePage.DesktopVideoCapture: self.deskVidList, |
200 QWebEnginePage.DesktopVideoCapture: self.deskVidList, |
179 QWebEnginePage.DesktopAudioVideoCapture: self.deskAudVidList, |
201 QWebEnginePage.DesktopAudioVideoCapture: self.deskAudVidList, |
180 }) |
202 }) |
|
203 if hasattr(QWebEnginePage, "Notifications"): |
|
204 self.__permissionsLists[QWebEnginePage.Notifications] = \ |
|
205 self.notifList |
181 |
206 |
182 for feature, permissionsList in self.__permissionsLists.items(): |
207 for feature, permissionsList in self.__permissionsLists.items(): |
183 for permission in featurePermissions[feature]: |
208 for permission in featurePermissions[feature]: |
184 for host in featurePermissions[feature][permission]: |
209 for host in featurePermissions[feature][permission]: |
185 itm = QTreeWidgetItem( |
210 itm = QTreeWidgetItem( |