Thu, 29 Aug 2019 19:02:14 +0200
WebBrowser: added support for the QWebEnginePage.Notifications as Qt 5.13.0.
--- a/eric6/WebBrowser/FeaturePermissions/FeaturePermissionBar.py Thu Aug 29 19:00:33 2019 +0200 +++ b/eric6/WebBrowser/FeaturePermissions/FeaturePermissionBar.py Thu Aug 29 19:02:14 2019 +0200 @@ -67,6 +67,12 @@ }) except AttributeError: pass + try: + # this was re-added in Qt 5.13.0 + self.__permissionFeatureTexts[QWebEnginePage.Notifications] = \ + self.tr("{0} wants to use desktop notifications.") + except AttributeError: + pass self.__permissionFeatureIconNames = { QWebEnginePage.Geolocation: "geolocation.png", @@ -84,6 +90,12 @@ }) except AttributeError: pass + try: + # this was re-added in Qt 5.13.0 + self.__permissionFeatureIconNames[QWebEnginePage.Notifications] = \ + "notification.png" + except AttributeError: + pass self.setAutoFillBackground(True) self.__layout = QHBoxLayout()
--- a/eric6/WebBrowser/FeaturePermissions/FeaturePermissionManager.py Thu Aug 29 19:00:33 2019 +0200 +++ b/eric6/WebBrowser/FeaturePermissions/FeaturePermissionManager.py Thu Aug 29 19:02:14 2019 +0200 @@ -68,6 +68,14 @@ }) except AttributeError: pass + try: + # this was re-added in Qt 5.13.0 + self.__featurePermissions[QWebEnginePage.Notifications] = { + QWebEnginePage.PermissionGrantedByUser: [], + QWebEnginePage.PermissionDeniedByUser: [], + } + except AttributeError: + pass self.__featurePermissionsKeys = { (QWebEnginePage.Geolocation, @@ -119,6 +127,18 @@ }) except AttributeError: pass + try: + # this was re-added in Qt 5.13.0 + self.__featurePermissionsKeys.update({ + (QWebEnginePage.Notifications, + QWebEnginePage.PermissionGrantedByUser): + "NotificationsGranted", + (QWebEnginePage.Notifications, + QWebEnginePage.PermissionDeniedByUser): + "NotificationsDenied", + }) + except AttributeError: + pass self.__loaded = False
--- a/eric6/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py Thu Aug 29 19:00:33 2019 +0200 +++ b/eric6/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py Thu Aug 29 19:02:14 2019 +0200 @@ -38,6 +38,24 @@ # add the various lists + if hasattr(QWebEnginePage, "Notifications"): + # this was re-added in Qt 5.13.0 + self.notifList = QTreeWidget() + self.notifList.setAlternatingRowColors(True) + self.notifList.setSelectionMode( + QAbstractItemView.ExtendedSelection) + self.notifList.setRootIsDecorated(False) + self.notifList.setItemsExpandable(False) + self.notifList.setAllColumnsShowFocus(True) + self.notifList.setObjectName("notifList") + self.notifList.setSortingEnabled(True) + self.notifList.headerItem().setText(0, self.tr("Host")) + self.notifList.headerItem().setText(1, self.tr("Permission")) + self.tabWidget.addTab( + self.notifList, + UI.PixmapCache.getIcon("notification.png"), + self.tr("Notifications")) + self.geoList = QTreeWidget() self.geoList.setAlternatingRowColors(True) self.geoList.setSelectionMode(QAbstractItemView.ExtendedSelection) @@ -148,7 +166,11 @@ UI.PixmapCache.getIcon("desktopAudioVideoCapture.png"), self.tr("Desktop Audio && Video")) - self.setTabOrder(self.tabWidget, self.geoList) + if hasattr(QWebEnginePage, "Notifications"): + self.setTabOrder(self.tabWidget, self.notifList) + self.setTabOrder(self.notifList, self.geoList) + else: + self.setTabOrder(self.tabWidget, self.geoList) self.setTabOrder(self.geoList, self.micList) self.setTabOrder(self.micList, self.camList) self.setTabOrder(self.camList, self.micCamList) @@ -178,6 +200,9 @@ QWebEnginePage.DesktopVideoCapture: self.deskVidList, QWebEnginePage.DesktopAudioVideoCapture: self.deskAudVidList, }) + if hasattr(QWebEnginePage, "Notifications"): + self.__permissionsLists[QWebEnginePage.Notifications] = \ + self.notifList for feature, permissionsList in self.__permissionsLists.items(): for permission in featurePermissions[feature]: