Sun, 03 Feb 2019 16:10:39 +0100
Web Browser (NG):
- added a site info widget that is show when the site icon in the URL entry is clicked
- added code to register custom protocol handlers (upon request of the user via the site info widget)
# -*- coding: utf-8 -*- # Copyright (c) 2019 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing a dialog to manage registered protocol handlers. """ from __future__ import unicode_literals from PyQt5.QtCore import pyqtSlot, Qt from PyQt5.QtWidgets import QDialog, QTreeWidgetItem from .Ui_ProtocolHandlerManagerDialog import Ui_ProtocolHandlerManagerDialog class ProtocolHandlerManagerDialog(QDialog, Ui_ProtocolHandlerManagerDialog): """ Class implementing a dialog to manage registered protocol handlers. """ def __init__(self, manager, parent=None): """ Constructor @param manager reference to the protocol handlers manager object @type ProtocolHandlerManager @param parent reference to the parent widget @type QWidget """ super(ProtocolHandlerManagerDialog, self).__init__(parent) self.setupUi(self) self.setAttribute(Qt.WA_DeleteOnClose) self.__manager = manager handlers = self.__manager.protocolHandlers() for scheme in sorted(handlers.keys()): QTreeWidgetItem(self.protocolHandlersList, [scheme, handlers[scheme].toString()]) self.on_protocolHandlersList_itemSelectionChanged() @pyqtSlot() def on_protocolHandlersList_itemSelectionChanged(self): """ Private slot handling a change of the selection. """ self.deleteButton.setEnabled( len(self.protocolHandlersList.selectedItems()) == 1) @pyqtSlot() def on_deleteButton_clicked(self): """ Private slot to delete the selected protocol handler. """ itm = self.protocolHandlersList.selectedItems()[0] self.__manager.removeProtocolHandler(itm.text(0)) self.protocolHandlersList.takeTopLevelItem( self.protocolHandlersList.indexOfTopLevelItem(itm)) del itm