Thu, 30 Dec 2021 11:17:58 +0100
Updated copyright for 2022.
# -*- coding: utf-8 -*- # Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing a QAction subclass for open search. """ from PyQt6.QtCore import QUrl from PyQt6.QtGui import QPixmap, QIcon, QAction class OpenSearchEngineAction(QAction): """ Class implementing a QAction subclass for open search. """ def __init__(self, engine, parent=None): """ Constructor @param engine reference to the open search engine object (OpenSearchEngine) @param parent reference to the parent object (QObject) """ super().__init__(parent) self.__engine = engine if self.__engine.networkAccessManager() is None: import WebBrowser.WebBrowserWindow self.__engine.setNetworkAccessManager( WebBrowser.WebBrowserWindow.WebBrowserWindow.networkManager()) self.setText(engine.name()) self.__imageChanged() engine.imageChanged.connect(self.__imageChanged) def __imageChanged(self): """ Private slot handling a change of the associated image. """ image = self.__engine.image() if image.isNull(): import WebBrowser.WebBrowserWindow self.setIcon( WebBrowser.WebBrowserWindow.WebBrowserWindow.icon( QUrl(self.__engine.imageUrl()))) else: self.setIcon(QIcon(QPixmap.fromImage(image)))