Sun, 13 May 2018 12:57:00 +0200
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) |