diff -r fc99172cd83e -r c6f3f66bf7aa WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py --- a/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py Tue Jan 23 17:49:48 2018 +0100 +++ b/WebBrowser/FeaturePermissions/FeaturePermissionsDialog.py Wed Jan 24 12:37:53 2018 +0100 @@ -114,12 +114,51 @@ UI.PixmapCache.getIcon("mouse.png"), self.tr("Mouse Lock")) + if hasattr(QWebEnginePage, "DesktopVideoCapture"): + # these are shown as of Qt 5.10.0/PyQt 5.10.0 + self.deskVidList = QTreeWidget() + self.deskVidList.setAlternatingRowColors(True) + self.deskVidList.setSelectionMode( + QAbstractItemView.ExtendedSelection) + self.deskVidList.setRootIsDecorated(False) + self.deskVidList.setItemsExpandable(False) + self.deskVidList.setAllColumnsShowFocus(True) + self.deskVidList.setObjectName("deskVidList") + self.deskVidList.setSortingEnabled(True) + self.deskVidList.headerItem().setText(0, self.tr("Host")) + self.deskVidList.headerItem().setText(1, self.tr("Permission")) + self.tabWidget.addTab( + self.deskVidList, + UI.PixmapCache.getIcon("desktopVideoCapture.png"), + self.tr("Desktop Video")) + + self.deskAudVidList = QTreeWidget() + self.deskAudVidList.setAlternatingRowColors(True) + self.deskAudVidList.setSelectionMode( + QAbstractItemView.ExtendedSelection) + self.deskAudVidList.setRootIsDecorated(False) + self.deskAudVidList.setItemsExpandable(False) + self.deskAudVidList.setAllColumnsShowFocus(True) + self.deskAudVidList.setObjectName("deskAudVidList") + self.deskAudVidList.setSortingEnabled(True) + self.deskAudVidList.headerItem().setText(0, self.tr("Host")) + self.deskAudVidList.headerItem().setText(1, self.tr("Permission")) + self.tabWidget.addTab( + self.deskAudVidList, + UI.PixmapCache.getIcon("desktopAudioVideoCapture.png"), + self.tr("Desktop Audio && Video")) + self.setTabOrder(self.tabWidget, self.geoList) self.setTabOrder(self.geoList, self.micList) self.setTabOrder(self.micList, self.camList) self.setTabOrder(self.camList, self.micCamList) self.setTabOrder(self.micCamList, self.mouseLockList) - self.setTabOrder(self.mouseLockList, self.removeButton) + if hasattr(QWebEnginePage, "DesktopVideoCapture"): + self.setTabOrder(self.mouseLockList, self.deskVidList) + self.setTabOrder(self.deskVidList, self.deskAudVidList) + self.setTabOrder(self.deskAudVidList, self.removeButton) + else: + self.setTabOrder(self.mouseLockList, self.removeButton) self.setTabOrder(self.removeButton, self.removeAllButton) self.__permissionStrings = { @@ -134,6 +173,11 @@ QWebEnginePage.MediaAudioVideoCapture: self.micCamList, QWebEnginePage.MouseLock: self.mouseLockList, } + if hasattr(QWebEnginePage, "DesktopVideoCapture"): + self.__permissionsLists.update({ + QWebEnginePage.DesktopVideoCapture: self.deskVidList, + QWebEnginePage.DesktopAudioVideoCapture: self.deskAudVidList, + }) for feature, permissionsList in self.__permissionsLists.items(): for permission in featurePermissions[feature]: