diff -r 0b936ff1bbb9 -r a2bc06a54d9d src/eric7/WebBrowser/FeaturePermissions/FeaturePermissionManager.py --- a/src/eric7/WebBrowser/FeaturePermissions/FeaturePermissionManager.py Sun Nov 06 11:22:39 2022 +0100 +++ b/src/eric7/WebBrowser/FeaturePermissions/FeaturePermissionManager.py Mon Nov 07 17:19:58 2022 +0100 @@ -12,6 +12,7 @@ from PyQt6.QtWidgets import QDialog from eric7 import Globals, Preferences +from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow class FeaturePermissionManager(QObject): @@ -145,6 +146,8 @@ @param feature requested feature @type QWebEnginePage.Feature """ + from .FeaturePermissionBar import FeaturePermissionBar + if origin is None or origin.isEmpty(): return @@ -159,8 +162,6 @@ page.setFeaturePermission(origin, feature, permission) return - from .FeaturePermissionBar import FeaturePermissionBar - bar = FeaturePermissionBar(page, origin, feature, self) bar.show() @@ -206,8 +207,6 @@ if not self.__loaded: return - from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow - if WebBrowserWindow.isPrivate(): return @@ -217,17 +216,20 @@ self.__featurePermissions[feature][permission], ) - def showFeaturePermissionsDialog(self): + def showFeaturePermissionsDialog(self, parent=None): """ Public method to show a dialog to manage the remembered feature permissions. + + @param parent reference to the parent widget + @type QWidget """ + from .FeaturePermissionsDialog import FeaturePermissionsDialog + if not self.__loaded: self.__loadSettings() - from .FeaturePermissionsDialog import FeaturePermissionsDialog - - dlg = FeaturePermissionsDialog(self.__featurePermissions) + dlg = FeaturePermissionsDialog(self.__featurePermissions, parent=parent) if dlg.exec() == QDialog.DialogCode.Accepted: newFeaturePermissions = dlg.getData() self.__featurePermissions = newFeaturePermissions