eric6/Helpviewer/FeaturePermissions/FeaturePermissionBar.py

branch
maintenance
changeset 7286
7eb04391adf7
parent 7226
babe80d84a3e
parent 7285
1ff497f33f31
child 7287
1c17f2191bdd
--- a/eric6/Helpviewer/FeaturePermissions/FeaturePermissionBar.py	Mon Sep 09 18:52:08 2019 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2015 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing the feature permission bar widget.
-"""
-
-from __future__ import unicode_literals
-
-from PyQt5.QtCore import pyqtSlot
-from PyQt5.QtWidgets import QLabel, QHBoxLayout, QPushButton
-from PyQt5.QtWebKitWidgets import QWebPage
-
-from E5Gui.E5AnimatedWidget import E5AnimatedWidget
-
-import Helpviewer
-
-import UI.PixmapCache
-
-
-class FeaturePermissionBar(E5AnimatedWidget):
-    """
-    Class implementing the feature permission bar widget.
-    """
-    DefaultHeight = 30
-    
-    def __init__(self, view, frame, feature):
-        """
-        Constructor
-        
-        @param view reference to the web view
-        @type QWebView
-        @param frame frame sending the request
-        @type QWebFrame
-        @param feature requested feature
-        @type QWebPage.Feature
-        """
-        super(FeaturePermissionBar, self).__init__(parent=view)
-        
-        self.__frame = frame
-        self.__feature = feature
-        self.__view = view
-        
-        self.__permissionFeatureTexts = {
-            QWebPage.Notifications:
-                self.tr("{0} wants to use desktop notifications."),
-            QWebPage.Geolocation:
-                self.tr("{0} wants to use your position.")
-        }
-        self.__permissionFeatureIconNames = {
-            QWebPage.Notifications: "notification.png",
-            QWebPage.Geolocation: "geolocation.png",
-        }
-        
-        self.setAutoFillBackground(True)
-        self.__layout = QHBoxLayout()
-        self.setLayout(self.__layout)
-        self.__layout.setContentsMargins(9, 0, 0, 0)
-        self.__iconLabel = QLabel(self)
-        self.__layout.addWidget(self.__iconLabel)
-        self.__messageLabel = QLabel(self)
-        self.__layout.addWidget(self.__messageLabel)
-        self.__layout.addStretch()
-        self.__rememberButton = QPushButton(self.tr("Remember"), self)
-        self.__rememberButton.setCheckable(True)
-        self.__allowButton = QPushButton(self.tr("Allow"), self)
-        self.__denyButton = QPushButton(self.tr("Deny"), self)
-        self.__discardButton = QPushButton(UI.PixmapCache.getIcon("close.png"),
-                                           "", self)
-        self.__allowButton.clicked.connect(self.__permissionGranted)
-        self.__denyButton.clicked.connect(self.__permissionDenied)
-        self.__discardButton.clicked.connect(self.__permissionUnknown)
-        self.__layout.addWidget(self.__rememberButton)
-        self.__layout.addWidget(self.__allowButton)
-        self.__layout.addWidget(self.__denyButton)
-        self.__layout.addWidget(self.__discardButton)
-        
-        try:
-            self.__iconLabel.setPixmap(UI.PixmapCache.getPixmap(
-                self.__permissionFeatureIconNames[self.__feature]))
-        except KeyError:
-            pass
-        
-        try:
-            self.__messageLabel.setText(
-                self.__permissionFeatureTexts[self.__feature].format(
-                    self.__frame.securityOrigin().host()))
-        except KeyError:
-            self.__messageLabel.setText(
-                self.tr("{0} wants to use an unknown feature.").format(
-                    self.__frame.securityOrigin().host()))
-        
-        self.__view.page().loadStarted.connect(self.hide)
-        
-        self.resize(view.width(), self.height())
-        self.startAnimation()
-    
-    @pyqtSlot()
-    def hide(self):
-        """
-        Public slot to hide the animated widget.
-        """
-        self.__view.page().loadStarted.disconnect(self.hide)
-        super(FeaturePermissionBar, self).hide()
-    
-    def __permissionDenied(self):
-        """
-        Private slot handling the user pressing the deny button.
-        """
-        if self.__frame is None or self.__frame.page() is None:
-            return
-        
-        page = self.__frame.page()
-        page.setFeaturePermission(self.__frame, self.__feature,
-                                  QWebPage.PermissionDeniedByUser)
-        
-        if self.__rememberButton.isChecked():
-            Helpviewer.HelpWindow.HelpWindow.featurePermissionManager()\
-                .rememberFeaturePermission(page.url().host(), self.__feature,
-                                           QWebPage.PermissionDeniedByUser)
-        
-        self.hide()
-    
-    def __permissionGranted(self):
-        """
-        Private slot handling the user pressing the allow button.
-        """
-        if self.__frame is None or self.__frame.page() is None:
-            return
-        
-        page = self.__frame.page()
-        page.setFeaturePermission(self.__frame, self.__feature,
-                                  QWebPage.PermissionGrantedByUser)
-        
-        if self.__rememberButton.isChecked():
-            Helpviewer.HelpWindow.HelpWindow.featurePermissionManager()\
-                .rememberFeaturePermission(page.url().host(), self.__feature,
-                                           QWebPage.PermissionGrantedByUser)
-        
-        self.hide()
-    
-    def __permissionUnknown(self):
-        """
-        Private slot handling the user closing the dialog without.
-        """
-        if self.__frame is None or self.__frame.page() is None:
-            return
-        
-        page = self.__frame.page()
-        page.setFeaturePermission(self.__frame, self.__feature,
-                                  QWebPage.PermissionUnknown)
-        self.hide()

eric ide

mercurial