eric6/Helpviewer/OpenSearch/OpenSearchEngineAction.py

changeset 7220
5cf645f6daab
parent 7218
eaf2cf171f3a
parent 7211
1c97f3142fa8
child 7221
0485ccdf7877
equal deleted inserted replaced
7218:eaf2cf171f3a 7220:5cf645f6daab
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2009 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a QAction subclass for open search.
8 """
9
10 from __future__ import unicode_literals
11
12 from PyQt5.QtCore import QUrl
13 from PyQt5.QtGui import QPixmap, QIcon
14 from PyQt5.QtWidgets import QAction
15
16
17 class OpenSearchEngineAction(QAction):
18 """
19 Class implementing a QAction subclass for open search.
20 """
21 def __init__(self, engine, parent=None):
22 """
23 Constructor
24
25 @param engine reference to the open search engine object
26 (OpenSearchEngine)
27 @param parent reference to the parent object (QObject)
28 """
29 super(OpenSearchEngineAction, self).__init__(parent)
30
31 self.__engine = engine
32 if self.__engine.networkAccessManager() is None:
33 import Helpviewer.HelpWindow
34 self.__engine.setNetworkAccessManager(
35 Helpviewer.HelpWindow.HelpWindow.networkAccessManager())
36
37 self.setText(engine.name())
38 self.__imageChanged()
39
40 engine.imageChanged.connect(self.__imageChanged)
41
42 def __imageChanged(self):
43 """
44 Private slot handling a change of the associated image.
45 """
46 image = self.__engine.image()
47 if image.isNull():
48 import Helpviewer.HelpWindow
49 self.setIcon(
50 Helpviewer.HelpWindow.HelpWindow.icon(
51 QUrl(self.__engine.imageUrl())))
52 else:
53 self.setIcon(QIcon(QPixmap.fromImage(image)))

eric ide

mercurial