Helpviewer/UrlBar/SslLabel.py

Sun, 13 May 2018 12:57:00 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 13 May 2018 12:57:00 +0200
changeset 6287
9a193ff6d24a
parent 6048
82ad8ec9548c
child 6645
ad476851d7e0
permissions
-rw-r--r--

URL handling: redirected the URL handling for 'http' and 'https' URLs to the main user interface and the man web browser interface (for standalone web browsers).

658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
6048
82ad8ec9548c Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5726
diff changeset
3 # Copyright (c) 2010 - 2018 Detlev Offenbach <detlev@die-offenbachs.de>
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the label to show some SSL info.
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
3145
a9de05d4a22f # __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2525
diff changeset
10 from __future__ import unicode_literals
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2432
diff changeset
11
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3178
diff changeset
12 from PyQt5.QtCore import Qt, pyqtSignal, QPoint
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3178
diff changeset
13 from PyQt5.QtWidgets import QLabel
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
15
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 class SslLabel(QLabel):
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 Class implementing the label to show some SSL info.
5726
e1dbd217214a Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
19
e1dbd217214a Fixed a few source docu issues (forgotten signals and exceptions).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
20 @signal clicked(pos) emitted to indicate a click of the label (QPoint)
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
2432
b1a2f9054b28 Reworked the various SSL info widgets of the web browser to show more info.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
22 clicked = pyqtSignal(QPoint)
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
1341
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
24 okStyle = "QLabel { color : white; background-color : green; }"
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
25 nokStyle = "QLabel { color : white; background-color : red; }"
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
26
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
27 def __init__(self, parent=None):
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 Constructor
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 @param parent reference to the parent widget (QWidget)
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2432
diff changeset
33 super(SslLabel, self).__init__(parent)
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.setFocusPolicy(Qt.NoFocus)
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.setCursor(Qt.ArrowCursor)
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 def mouseReleaseEvent(self, evt):
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 Protected method to handle mouse release events.
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 @param evt reference to the mouse event (QMouseEvent)
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 if evt.button() == Qt.LeftButton:
2432
b1a2f9054b28 Reworked the various SSL info widgets of the web browser to show more info.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
45 self.clicked.emit(evt.globalPos())
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 else:
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2432
diff changeset
47 super(SslLabel, self).mouseReleaseEvent(evt)
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 def mouseDoubleClickEvent(self, evt):
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 Protected method to handle mouse double click events.
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 @param evt reference to the mouse event (QMouseEvent)
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 """
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 if evt.button() == Qt.LeftButton:
2432
b1a2f9054b28 Reworked the various SSL info widgets of the web browser to show more info.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
56 self.clicked.emit(evt.globalPos())
658
2856f7ea6780 Started implementing the SSL info display.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 else:
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2432
diff changeset
58 super(SslLabel, self).mouseDoubleClickEvent(evt)
1341
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
59
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
60 def setValidity(self, valid):
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
61 """
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
62 Public method to set the validity indication.
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
63
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
64 @param valid flag indicating the certificate validity (boolean)
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
65 """
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
66 if valid:
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
67 self.setStyleSheet(SslLabel.okStyle)
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
68 else:
6104ae9ceb55 Added code to indicate invalid SSL certificates in the URL entry and the SSL info dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
69 self.setStyleSheet(SslLabel.nokStyle)

eric ide

mercurial