eric6/WebBrowser/SafeBrowsing/SafeBrowsingInfoWidget.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/WebBrowser/SafeBrowsing/SafeBrowsingInfoWidget.py	Sun Apr 14 15:09:21 2019 +0200
@@ -0,0 +1,60 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2017 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a widget to show some threat information.
+"""
+
+from __future__ import unicode_literals
+
+from PyQt5.QtCore import Qt, QPoint
+from PyQt5.QtWidgets import QMenu, QLabel, QHBoxLayout, QSizePolicy
+
+import UI.PixmapCache
+
+
+class SafeBrowsingInfoWidget(QMenu):
+    """
+    Class implementing a widget to show some threat information.
+    """
+    def __init__(self, info, parent=None):
+        """
+        Constructor
+        
+        @param info information string to be shown
+        @type str
+        @param parent reference to the parent widget
+        @type QWidget
+        """
+        super(SafeBrowsingInfoWidget, self).__init__(parent)
+        
+        self.setMinimumWidth(500)
+        
+        layout = QHBoxLayout(self)
+        
+        iconLabel = QLabel(self)
+        iconLabel.setPixmap(UI.PixmapCache.getPixmap("safeBrowsing48.png"))
+        layout.addWidget(iconLabel, 0, Qt.AlignTop)
+        
+        infoLabel = QLabel(self)
+        infoLabel.setWordWrap(True)
+        infoLabel.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
+        infoLabel.setText(info)
+        layout.addWidget(infoLabel, 0, Qt.AlignTop)
+    
+    def showAt(self, pos):
+        """
+        Public method to show the widget.
+        
+        @param pos position to show at
+        @type QPoint
+        """
+        self.adjustSize()
+        xpos = pos.x() - self.width()
+        if xpos < 0:
+            xpos = 10
+        p = QPoint(xpos, pos.y() + 10)
+        self.move(p)
+        self.show()

eric ide

mercurial