Tue, 02 Mar 2021 17:17:09 +0100
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
3 | # Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the URL bar widget. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
10 | from PyQt5.QtCore import pyqtSlot, Qt, QPointF, QUrl, QDateTime, QTimer, QPoint |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
11 | from PyQt5.QtGui import QColor, QPalette, QLinearGradient, QIcon |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3484
diff
changeset
|
12 | from PyQt5.QtWidgets import QDialog, QApplication |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
13 | from PyQt5.QtWebEngineWidgets import QWebEnginePage |
7766 | 14 | try: |
15 | from PyQt5.QtNetwork import QSslCertificate # __IGNORE_EXCEPTION__ | |
16 | except ImportError: | |
17 | QSslCertificate = None # __IGNORE_WARNING__ | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | from E5Gui.E5LineEdit import E5LineEdit |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | from E5Gui.E5LineEditButton import E5LineEditButton |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
22 | from WebBrowser.WebBrowserWindow import WebBrowserWindow |
661
f9d49e0c2522
Added code to show some bookmark data from the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
658
diff
changeset
|
23 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
24 | from WebBrowser.SafeBrowsing.SafeBrowsingLabel import SafeBrowsingLabel |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
25 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
26 | from .FavIconLabel import FavIconLabel |
7766 | 27 | from .SslLabel import SslLabel |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
28 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | import UI.PixmapCache |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | import Preferences |
7766 | 31 | import Utilities |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
33 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | class UrlBar(E5LineEdit): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | Class implementing a line edit for entering URLs. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
38 | def __init__(self, mainWindow, parent=None): |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | Constructor |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
7196
ab0a91b82b37
Removed support for QtWebKit and the old web rowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
42 | @param mainWindow reference to the main window (WebBrowserWindow) |
ab0a91b82b37
Removed support for QtWebKit and the old web rowser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7192
diff
changeset
|
43 | @param parent reference to the parent widget (WebBrowserView) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
45 | E5LineEdit.__init__(self, parent) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
46 | self.setInactiveText(self.tr("Enter the URL here.")) |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
47 | self.setWhatsThis(self.tr("Enter the URL here.")) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | self.__mw = mainWindow |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.__browser = None |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
51 | self.__privateMode = WebBrowserWindow.isPrivate() |
661
f9d49e0c2522
Added code to show some bookmark data from the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
658
diff
changeset
|
52 | |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
53 | self.__bmActiveIcon = UI.PixmapCache.getIcon("bookmark16") |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
54 | self.__bmInactiveIcon = QIcon( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
55 | self.__bmActiveIcon.pixmap(16, 16, QIcon.Mode.Disabled)) |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
56 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
57 | self.__safeBrowsingLabel = SafeBrowsingLabel(self) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
58 | self.addWidget(self.__safeBrowsingLabel, E5LineEdit.LeftSide) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
59 | self.__safeBrowsingLabel.setVisible(False) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
60 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
61 | self.__favicon = FavIconLabel(self) |
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
62 | self.addWidget(self.__favicon, E5LineEdit.LeftSide) |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4709
diff
changeset
|
63 | |
7766 | 64 | self.__sslLabel = SslLabel(self) |
65 | self.addWidget(self.__sslLabel, E5LineEdit.LeftSide) | |
66 | self.__sslLabel.setVisible(False) | |
67 | ||
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
68 | self.__rssButton = E5LineEditButton(self) |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
69 | self.__rssButton.setIcon(UI.PixmapCache.getIcon("rss16")) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
70 | self.addWidget(self.__rssButton, E5LineEdit.RightSide) |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
71 | self.__rssButton.setVisible(False) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
73 | self.__bookmarkButton = E5LineEditButton(self) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
74 | self.addWidget(self.__bookmarkButton, E5LineEdit.RightSide) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
75 | self.__bookmarkButton.setVisible(False) |
661
f9d49e0c2522
Added code to show some bookmark data from the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
658
diff
changeset
|
76 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | self.__clearButton = E5LineEditButton(self) |
7533
88261c96484b
Removed the '.png' extension from all call to get an icon or a pixmap from the PixmapCache because this is not needed anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7360
diff
changeset
|
78 | self.__clearButton.setIcon(UI.PixmapCache.getIcon("clearLeft")) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | self.addWidget(self.__clearButton, E5LineEdit.RightSide) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.__clearButton.setVisible(False) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
82 | self.__safeBrowsingLabel.clicked.connect(self.__showThreatInfo) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
83 | self.__bookmarkButton.clicked.connect(self.__showBookmarkInfo) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
84 | self.__rssButton.clicked.connect(self.__rssClicked) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
85 | self.__clearButton.clicked.connect(self.clear) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | self.textChanged.connect(self.__textChanged) |
661
f9d49e0c2522
Added code to show some bookmark data from the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
658
diff
changeset
|
87 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
88 | self.__mw.bookmarksManager().entryChanged.connect( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
89 | self.__bookmarkChanged) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
90 | self.__mw.bookmarksManager().entryAdded.connect( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
91 | self.__bookmarkChanged) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
92 | self.__mw.bookmarksManager().entryRemoved.connect( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
93 | self.__bookmarkChanged) |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
94 | self.__mw.speedDial().pagesChanged.connect( |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
95 | self.__bookmarkChanged) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | def setBrowser(self, browser): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | Public method to set the browser connection. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
101 | @param browser reference to the browser widget (WebBrowserView) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | self.__browser = browser |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
104 | self.__favicon.setBrowser(browser) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | self.__browser.urlChanged.connect(self.__browserUrlChanged) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | self.__browser.loadProgress.connect(self.update) |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
108 | self.__browser.loadFinished.connect(self.__loadFinished) |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
109 | self.__browser.loadStarted.connect(self.__loadStarted) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
110 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
111 | self.__browser.safeBrowsingBad.connect( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
112 | self.__safeBrowsingLabel.setThreatInfo) |
7766 | 113 | |
114 | self.__sslLabel.clicked.connect(self.__browser.page().showSslInfo) | |
115 | self.__browser.page().sslConfigurationChanged.connect( | |
116 | self.__sslConfigurationChanged) | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | def browser(self): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """ |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
120 | Public method to get the associated browser. |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
121 | |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
122 | @return reference to the associated browser (HelpBrowser) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | return self.__browser |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | def __browserUrlChanged(self, url): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | Private slot to handle a URL change of the associated browser. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | @param url new URL of the browser (QUrl) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | """ |
1670
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
132 | strUrl = url.toString() |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
133 | if strUrl in ["eric:speeddial", "eric:home", |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
134 | "about:blank", "about:config"]: |
1670
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
135 | strUrl = "" |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
136 | |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
137 | if self.text() != strUrl: |
6fd889391d2c
Added a Speed Dial to the web browser including the capability to select the first ten pages by pressing Meta+1 to Meta+0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1665
diff
changeset
|
138 | self.setText(strUrl) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | self.setCursorPosition(0) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
141 | def __loadStarted(self): |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
142 | """ |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
143 | Private slot to perform actions before the page is loaded. |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
144 | """ |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
145 | self.__bookmarkButton.setVisible(False) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
146 | self.__rssButton.setVisible(False) |
7766 | 147 | self.__sslLabel.setVisible(False) |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
148 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
149 | def __checkBookmark(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
150 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
151 | Private slot to check the current URL for the bookmarked state. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
152 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
153 | manager = self.__mw.bookmarksManager() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
154 | if manager.bookmarkForUrl(self.__browser.url()) is not None: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
155 | self.__bookmarkButton.setIcon(self.__bmActiveIcon) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
156 | bookmarks = manager.bookmarksForUrl(self.__browser.url()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4741
diff
changeset
|
157 | from WebBrowser.Bookmarks.BookmarkNode import BookmarkNode |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
158 | for bookmark in bookmarks: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
159 | manager.setTimestamp(bookmark, BookmarkNode.TsVisited, |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
160 | QDateTime.currentDateTime()) |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
161 | elif self.__mw.speedDial().pageForUrl(self.__browser.url()).url != "": |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
162 | self.__bookmarkButton.setIcon(self.__bmActiveIcon) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
163 | else: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
164 | self.__bookmarkButton.setIcon(self.__bmInactiveIcon) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
165 | |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
166 | def __loadFinished(self, ok): |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
167 | """ |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
168 | Private slot to set some data after the page was loaded. |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
169 | |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
170 | @param ok flag indicating a successful load (boolean) |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
171 | """ |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
172 | if self.__browser.url().scheme() in ["eric", "about"]: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
173 | self.__bookmarkButton.setVisible(False) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
174 | else: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
175 | self.__checkBookmark() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
176 | self.__bookmarkButton.setVisible(True) |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
177 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
178 | self.__browserUrlChanged(self.__browser.url()) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
179 | self.__safeBrowsingLabel.setVisible( |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
180 | not self.__browser.getSafeBrowsingStatus()) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
181 | |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
182 | if ok: |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
183 | QTimer.singleShot(0, self.__setRssButton) |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
184 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
185 | def __textChanged(self, txt): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
186 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
187 | Private slot to handle changes of the text. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | @param txt current text (string) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | self.__clearButton.setVisible(txt != "") |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | def preferencesChanged(self): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | Public slot to handle a change of preferences. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | self.update() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
199 | def __showBookmarkInfo(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
200 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
201 | Private slot to show a dialog with some bookmark info. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
202 | """ |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
203 | from .BookmarkActionSelectionDialog import ( |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
204 | BookmarkActionSelectionDialog |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
205 | ) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
206 | url = self.__browser.url() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
207 | dlg = BookmarkActionSelectionDialog(url) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
208 | if dlg.exec() == QDialog.DialogCode.Accepted: |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
209 | action = dlg.getAction() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
210 | if action == BookmarkActionSelectionDialog.AddBookmark: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
211 | self.__browser.addBookmark() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
212 | elif action == BookmarkActionSelectionDialog.EditBookmark: |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
213 | bookmark = ( |
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
214 | self.__mw.bookmarksManager().bookmarkForUrl(url) |
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
215 | ) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
216 | from .BookmarkInfoDialog import BookmarkInfoDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
217 | dlg = BookmarkInfoDialog(bookmark, self.__browser) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7570
diff
changeset
|
218 | dlg.exec() |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
219 | elif action == BookmarkActionSelectionDialog.AddSpeeddial: |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
220 | self.__mw.speedDial().addPage( |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
221 | url, self.__browser.title()) |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
222 | elif action == BookmarkActionSelectionDialog.RemoveSpeeddial: |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
223 | self.__mw.speedDial().removePage(url) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
224 | |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
225 | @pyqtSlot() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
226 | def __bookmarkChanged(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
227 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
228 | Private slot to handle bookmark or speed dial changes. |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
229 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
230 | self.__checkBookmark() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
231 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | def paintEvent(self, evt): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | Protected method handling a paint event. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
236 | @param evt reference to the paint event (QPaintEvent) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
238 | foregroundColor = QApplication.palette().color(QPalette.ColorRole.Text) |
7567
bb196e51827d
Web Browser: added a configurable URL entry color to indicate sites with certificate issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7565
diff
changeset
|
239 | |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
240 | if self.__privateMode: |
7567
bb196e51827d
Web Browser: added a configurable URL entry color to indicate sites with certificate issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7565
diff
changeset
|
241 | backgroundColor = Preferences.getWebBrowser("PrivateModeUrlColor") |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
242 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
243 | backgroundColor = QApplication.palette().color( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
244 | QPalette.ColorRole.Base) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | if self.__browser is not None: |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | p = self.palette() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | progress = self.__browser.progress() |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
249 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
250 | if not self.__browser.getSafeBrowsingStatus(): |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
251 | # malicious web site |
7567
bb196e51827d
Web Browser: added a configurable URL entry color to indicate sites with certificate issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7565
diff
changeset
|
252 | backgroundColor = Preferences.getWebBrowser( |
7570
a7a5750aded4
Web Browser: made the URL entry background configurable and harmonized certificate handling for the web page and its web icon (favicon).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7567
diff
changeset
|
253 | "MaliciousUrlColor") |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
254 | elif self.__browser.url().scheme() == "https": |
7565
928373562e36
Implemented a preliminary fix for issue 328 showing the user an indication, if he made an exception for a certificate issue of a host.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
255 | if WebBrowserWindow.networkManager().isInsecureHost( |
928373562e36
Implemented a preliminary fix for issue 328 showing the user an indication, if he made an exception for a certificate issue of a host.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
256 | self.__browser.url().host() |
928373562e36
Implemented a preliminary fix for issue 328 showing the user an indication, if he made an exception for a certificate issue of a host.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
257 | ): |
7567
bb196e51827d
Web Browser: added a configurable URL entry color to indicate sites with certificate issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7565
diff
changeset
|
258 | backgroundColor = Preferences.getWebBrowser( |
bb196e51827d
Web Browser: added a configurable URL entry color to indicate sites with certificate issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7565
diff
changeset
|
259 | "InsecureUrlColor") |
7565
928373562e36
Implemented a preliminary fix for issue 328 showing the user an indication, if he made an exception for a certificate issue of a host.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
260 | else: |
928373562e36
Implemented a preliminary fix for issue 328 showing the user an indication, if he made an exception for a certificate issue of a host.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7533
diff
changeset
|
261 | backgroundColor = Preferences.getWebBrowser( |
7567
bb196e51827d
Web Browser: added a configurable URL entry color to indicate sites with certificate issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7565
diff
changeset
|
262 | "SecureUrlColor") |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
263 | |
1558
754120837dd8
Extended the check for acceptable SSL certificates for indication via the URL entry field.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
264 | if progress == 0 or progress == 100: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
265 | p.setBrush(QPalette.ColorRole.Base, backgroundColor) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
266 | p.setBrush(QPalette.ColorRole.Text, foregroundColor) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | else: |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
268 | highlight = QApplication.palette().color( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
269 | QPalette.ColorRole.Highlight) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | r = (highlight.red() + 2 * backgroundColor.red()) // 3 |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | g = (highlight.green() + 2 * backgroundColor.green()) // 3 |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | b = (highlight.blue() + 2 * backgroundColor.blue()) // 3 |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | loadingColor = QColor(r, g, b) |
3034
7ce719013078
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3002
diff
changeset
|
275 | if abs(loadingColor.lightness() - |
3002
6ffc581f00f1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
276 | backgroundColor.lightness()) < 20: |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | # special handling for special color schemes (e.g Gaia) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | r = (2 * highlight.red() + backgroundColor.red()) // 3 |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | g = (2 * highlight.green() + backgroundColor.green()) // 3 |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | b = (2 * highlight.blue() + backgroundColor.blue()) // 3 |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | loadingColor = QColor(r, g, b) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | |
3002
6ffc581f00f1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
283 | gradient = QLinearGradient( |
6ffc581f00f1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
284 | QPointF(0, 0), QPointF(self.width(), 0)) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | gradient.setColorAt(0, loadingColor) |
2599
2373006616da
Fixes for the webbrowser.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
286 | gradient.setColorAt(progress / 100.0 - 0.000001, loadingColor) |
2373006616da
Fixes for the webbrowser.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
287 | gradient.setColorAt(progress / 100.0, backgroundColor) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
288 | p.setBrush(QPalette.ColorRole.Base, gradient) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | self.setPalette(p) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | E5LineEdit.paintEvent(self, evt) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | def focusOutEvent(self, evt): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | Protected method to handle focus out event. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | @param evt reference to the focus event (QFocusEvent) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | if self.text() == "" and self.__browser is not None: |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | self.__browserUrlChanged(self.__browser.url()) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | E5LineEdit.focusOutEvent(self, evt) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | |
1170
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
304 | def mousePressEvent(self, evt): |
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
305 | """ |
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
306 | Protected method called by a mouse press event. |
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
307 | |
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
308 | @param evt reference to the mouse event (QMouseEvent) |
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
309 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
310 | if evt.button() == Qt.MouseButton.XButton1: |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
311 | self.__mw.currentBrowser().triggerPageAction( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
312 | QWebEnginePage.WebAction.Back) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
313 | elif evt.button() == Qt.MouseButton.XButton2: |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
314 | self.__mw.currentBrowser().triggerPageAction( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
315 | QWebEnginePage.WebAction.Forward) |
1170
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
316 | 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
|
317 | super(UrlBar, self).mousePressEvent(evt) |
1170
a3731e520b28
Improved the handling of mouse XButton1 and XButton2 handling in the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1106
diff
changeset
|
318 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
319 | def mouseDoubleClickEvent(self, evt): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | Protected method to handle mouse double click events. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | @param evt reference to the mouse event (QMouseEvent) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
325 | if evt.button() == Qt.MouseButton.LeftButton: |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | self.selectAll() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | else: |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | E5LineEdit.mouseDoubleClickEvent(self, evt) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | def keyPressEvent(self, evt): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | Protected method to handle key presses. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | @param evt reference to the key press event (QKeyEvent) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | """ |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
336 | if evt.key() == Qt.Key.Key_Escape: |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
337 | if self.__browser is not None: |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
338 | self.setText( |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
339 | str(self.__browser.url().toEncoded(), encoding="utf-8")) |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
340 | self.selectAll() |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
341 | completer = self.completer() |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
342 | if completer: |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
343 | completer.popup().hide() |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | return |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | currentText = self.text().strip() |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
347 | if ( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
348 | evt.key() in [Qt.Key.Key_Enter, Qt.Key.Key_Return] and |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
349 | not currentText.lower().startswith(("http://", "https://")) |
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
350 | ): |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | append = "" |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
352 | if evt.modifiers() == Qt.KeyboardModifiers( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
353 | Qt.KeyboardModifier.ControlModifier |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
354 | ): |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | append = ".com" |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
356 | elif ( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
357 | evt.modifiers() == Qt.KeyboardModifiers( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
358 | Qt.KeyboardModifier.ControlModifier | |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
359 | Qt.KeyboardModifier.ShiftModifier |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
360 | ) |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
361 | ): |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
362 | append = ".org" |
3002
6ffc581f00f1
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
363 | elif evt.modifiers() == Qt.KeyboardModifiers( |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
364 | Qt.KeyboardModifier.ShiftModifier |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
365 | ): |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | append = ".net" |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | if append != "": |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | url = QUrl("http://www." + currentText) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | host = url.host() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | if not host.lower().endswith(append): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | host += append |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | url.setHost(host) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | self.setText(url.toString()) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | E5LineEdit.keyPressEvent(self, evt) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | def dragEnterEvent(self, evt): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | Protected method to handle drag enter events. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | @param evt reference to the drag enter event (QDragEnterEvent) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | mimeData = evt.mimeData() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | if mimeData.hasUrls() or mimeData.hasText(): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | evt.acceptProposedAction() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | E5LineEdit.dragEnterEvent(self, evt) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | def dropEvent(self, evt): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | Protected method to handle drop events. |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | @param evt reference to the drop event (QDropEvent) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | mimeData = evt.mimeData() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | url = QUrl() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | if mimeData.hasUrls(): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | url = mimeData.urls()[0] |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | elif mimeData.hasText(): |
4332
64034d85c709
Corrected some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4331
diff
changeset
|
402 | url = QUrl.fromEncoded(mimeData.text().encode("utf-8"), |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
403 | QUrl.ParsingMode.TolerantMode) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | if url.isEmpty() or not url.isValid(): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | E5LineEdit.dropEvent(self, evt) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | return |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
409 | self.setText(str(url.toEncoded(), encoding="utf-8")) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | self.selectAll() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | evt.acceptProposedAction() |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
413 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
414 | def __setRssButton(self): |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
415 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
416 | Private slot to show the RSS button. |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
417 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
418 | self.__rssButton.setVisible(self.__browser.checkRSS()) |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
419 | |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
420 | def __rssClicked(self): |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
421 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
422 | Private slot to handle clicking the RSS icon. |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
423 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
424 | from WebBrowser.Feeds.FeedsDialog import FeedsDialog |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
425 | feeds = self.__browser.getRSS() |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
426 | dlg = FeedsDialog(feeds, self.__browser) |
7759
51aa6c6b66f7
Changed calls to exec_() into exec() (remainder of Python2 elimination).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7570
diff
changeset
|
427 | dlg.exec() |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
428 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
429 | @pyqtSlot(QPoint) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
430 | def __showThreatInfo(self, pos): |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
431 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
432 | Private slot to show the threat info widget. |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
433 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
434 | @param pos position to show the info at |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
435 | @type QPoint |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
436 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
437 | threatInfo = self.__safeBrowsingLabel.getThreatInfo() |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
438 | if threatInfo: |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
439 | from WebBrowser.SafeBrowsing.SafeBrowsingInfoWidget import ( |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
440 | SafeBrowsingInfoWidget |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
441 | ) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
442 | widget = SafeBrowsingInfoWidget(threatInfo, self.__browser) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
443 | widget.showAt(pos) |
7766 | 444 | |
445 | @pyqtSlot() | |
446 | def __sslConfigurationChanged(self): | |
447 | """ | |
448 | Private slot to handle a change of the associated web page SSL | |
449 | configuration. | |
450 | """ | |
451 | sslConfiguration = self.__browser.page().getSslConfiguration() | |
452 | if sslConfiguration is not None and QSslCertificate is not None: | |
453 | sslCertificate = self.__browser.page().getSslCertificate() | |
454 | if sslCertificate is not None: | |
455 | org = Utilities.decodeString(", ".join( | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
456 | sslCertificate.subjectInfo( |
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
457 | QSslCertificate.SubjectInfo.Organization))) |
7766 | 458 | if org == "": |
459 | cn = Utilities.decodeString(", ".join( | |
460 | sslCertificate.subjectInfo( | |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
461 | QSslCertificate.SubjectInfo.CommonName))) |
7766 | 462 | if cn != "": |
463 | org = cn.split(".", 1)[1] | |
464 | if org == "": | |
465 | org = self.tr("Unknown") | |
466 | self.__sslLabel.setText(" {0} ".format(org)) | |
467 | self.__sslLabel.setVisible(True) | |
468 | valid = not sslCertificate.isBlacklisted() | |
469 | if valid: | |
470 | config = self.__browser.page().getSslConfiguration() | |
471 | if config is None or config.sessionCipher().isNull(): | |
472 | valid = False | |
473 | self.__sslLabel.setValidity(valid) | |
474 | else: | |
475 | self.__sslLabel.setVisible(False) | |
476 | else: | |
477 | self.__sslLabel.setVisible(False) |