eric6/Helpviewer/FeaturePermissions/FeaturePermissionsDialog.py

changeset 7220
5cf645f6daab
parent 7218
eaf2cf171f3a
parent 7211
1c97f3142fa8
child 7221
0485ccdf7877
diff -r eaf2cf171f3a -r 5cf645f6daab eric6/Helpviewer/FeaturePermissions/FeaturePermissionsDialog.py
--- a/eric6/Helpviewer/FeaturePermissions/FeaturePermissionsDialog.py	Sat Sep 07 14:45:27 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2015 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing the feature permission dialog.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import pyqtSlot, Qt
-from PyQt5.QtWidgets import QDialog, QTreeWidgetItem
-from PyQt5.QtWebKitWidgets import QWebPage
-
-from .Ui_FeaturePermissionsDialog import Ui_FeaturePermissionsDialog
-
-
-class FeaturePermissionsDialog(QDialog, Ui_FeaturePermissionsDialog):
-    """
-    Class implementing the feature permission dialog.
-    """
-    def __init__(self, featurePermissions, parent=None):
-        """
-        Constructor
-        
-        @param featurePermissions dictionary with remembered feature
-            permissions
-        @type dict of dict of list
-        @param parent reference to the parent widget
-        @type QWidget
-        """
-        super(FeaturePermissionsDialog, self).__init__(parent)
-        self.setupUi(self)
-        
-        self.__permissionStrings = {
-            QWebPage.PermissionGrantedByUser: self.tr("Allow"),
-            QWebPage.PermissionDeniedByUser: self.tr("Deny"),
-        }
-        
-        # Notifications
-        for permission in featurePermissions[QWebPage.Notifications]:
-            for host in featurePermissions[QWebPage.Notifications][permission]:
-                itm = QTreeWidgetItem(
-                    self.notifList,
-                    [host, self.__permissionStrings[permission]])
-                itm.setData(0, Qt.UserRole, permission)
-        self.__updateNotifButtons()
-        
-        # Geolocation
-        for permission in featurePermissions[QWebPage.Geolocation]:
-            for host in featurePermissions[QWebPage.Geolocation][permission]:
-                itm = QTreeWidgetItem(
-                    self.geoList,
-                    [host, self.__permissionStrings[permission]])
-                itm.setData(0, Qt.UserRole, permission)
-        self.__updateGeoButtons()
-    
-    def __updateNotifButtons(self):
-        """
-        Private method to update the notifications buttons.
-        """
-        self.notifRemoveAllButton.setEnabled(
-            self.notifList.topLevelItemCount() > 0)
-        self.notifRemoveButton.setEnabled(
-            len(self.notifList.selectedItems()) > 0)
-    
-    def __updateGeoButtons(self):
-        """
-        Private method to update the geolocation buttons.
-        """
-        self.geoRemoveAllButton.setEnabled(
-            self.geoList.topLevelItemCount() > 0)
-        self.geoRemoveButton.setEnabled(
-            len(self.geoList.selectedItems()) > 0)
-    
-    @pyqtSlot()
-    def on_geoList_itemSelectionChanged(self):
-        """
-        Private slot handling changes in the list of selected geolocation
-        items.
-        """
-        self.__updateGeoButtons()
-    
-    @pyqtSlot()
-    def on_geoRemoveButton_clicked(self):
-        """
-        Private slot to remove selected geolocation entries.
-        """
-        for itm in self.geoList.selectedItems():
-            row = self.geoList.indexOfTopLevelItem(itm)
-            itm = self.geoList.takeTopLevelItem(row)
-            del itm
-        self.__updateGeoButtons()
-    
-    @pyqtSlot()
-    def on_geoRemoveAllButton_clicked(self):
-        """
-        Private slot to remove all geolocation entries.
-        """
-        while self.geoList.topLevelItemCount() > 0:
-            itm = self.geoList.takeTopLevelItem(0)      # __IGNORE_WARNING__
-            del itm
-        self.__updateGeoButtons()
-    
-    @pyqtSlot()
-    def on_notifList_itemSelectionChanged(self):
-        """
-        Private slot handling changes in the list of selected notifications
-        items.
-        """
-        self.__updateNotifButtons()
-    
-    @pyqtSlot()
-    def on_notifRemoveButton_clicked(self):
-        """
-        Private slot to remove selected notification entries.
-        """
-        for itm in self.notifList.selectedItems():
-            row = self.notifList.indexOfTopLevelItem(itm)
-            itm = self.notifList.takeTopLevelItem(row)
-            del itm
-        self.__updateNotifButtons()
-    
-    @pyqtSlot()
-    def on_notifRemoveAllButton_clicked(self):
-        """
-        Private slot to remove all notification entries.
-        """
-        while self.notifList.topLevelItemCount() > 0:
-            itm = self.notifList.takeTopLevelItem(0)    # __IGNORE_WARNING__
-            del itm
-        self.__updateNotifButtons()
-    
-    def getData(self):
-        """
-        Public method to retrieve the dialog contents.
-        
-        @return new feature permission settings
-        @rtype dict of dict of list
-        """
-        featurePermissions = {
-            QWebPage.Notifications: {
-                QWebPage.PermissionGrantedByUser: [],
-                QWebPage.PermissionDeniedByUser: [],
-            },
-            QWebPage.Geolocation: {
-                QWebPage.PermissionGrantedByUser: [],
-                QWebPage.PermissionDeniedByUser: [],
-            },
-        }
-        
-        # Notifications
-        for row in range(self.notifList.topLevelItemCount()):
-            itm = self.notifList.topLevelItem(row)
-            host = itm.text(0)
-            permission = itm.data(0, Qt.UserRole)
-            featurePermissions[QWebPage.Notifications][permission].append(host)
-        
-        # Geolocation
-        for row in range(self.geoList.topLevelItemCount()):
-            itm = self.geoList.topLevelItem(row)
-            host = itm.text(0)
-            permission = itm.data(0, Qt.UserRole)
-            featurePermissions[QWebPage.Geolocation][permission].append(host)
-        
-        return featurePermissions

eric ide

mercurial