Sun, 26 Dec 2021 17:40:29 +0100
Added some style sheet and color related TODO markers.
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 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
10 | from PyQt6.QtCore import pyqtSlot, Qt, QUrl, QDateTime, QTimer, QPoint |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
11 | from PyQt6.QtGui import QColor, QPalette, QIcon |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
12 | from PyQt6.QtWidgets import QDialog, QApplication, QLineEdit |
8553
10d31e5ce9e5
First batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8358
diff
changeset
|
13 | from PyQt6.QtWebEngineCore import QWebEnginePage |
7766 | 14 | try: |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
15 | from PyQt6.QtNetwork import QSslCertificate # __IGNORE_EXCEPTION__ |
7766 | 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 | |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
19 | from EricWidgets.EricLineEdit import EricClearableLineEdit, EricLineEditSide |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
21 | 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
|
22 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
23 | 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
|
24 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
25 | from .FavIconLabel import FavIconLabel |
7766 | 26 | 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
|
27 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | import UI.PixmapCache |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | import Preferences |
7766 | 30 | import Utilities |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
32 | |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
33 | class UrlBar(EricClearableLineEdit): |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | 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
|
36 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
826
diff
changeset
|
37 | 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
|
38 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | Constructor |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
41 | @param mainWindow reference to the main window |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
42 | @type WebBrowserWindow |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
43 | @param parent reference to the parent widget |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
44 | @type WebBrowserView |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | """ |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
46 | super().__init__(parent) |
8350
74a3b2a6a944
Removed all references to E5ComboBox and most references to E5LineEdit.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8319
diff
changeset
|
47 | self.setPlaceholderText(self.tr("Enter the URL here.")) |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
48 | 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
|
49 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.__mw = mainWindow |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.__browser = None |
4788
7076adec8ddd
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4787
diff
changeset
|
52 | 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
|
53 | |
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
|
54 | self.__bmActiveIcon = UI.PixmapCache.getIcon("bookmark16") |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
55 | 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
|
56 | 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
|
57 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
58 | self.__safeBrowsingLabel = SafeBrowsingLabel(self) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
59 | self.addWidget(self.__safeBrowsingLabel, EricLineEditSide.LEFT) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
60 | 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
|
61 | |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
62 | self.__favicon = FavIconLabel(self) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
63 | self.addWidget(self.__favicon, EricLineEditSide.LEFT) |
4715
79009bc4acd5
Continued getting the basic web browser functions going.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4709
diff
changeset
|
64 | |
7766 | 65 | self.__sslLabel = SslLabel(self) |
8356
68ec9c3d4de5
Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8350
diff
changeset
|
66 | self.addWidget(self.__sslLabel, EricLineEditSide.LEFT) |
7766 | 67 | self.__sslLabel.setVisible(False) |
68 | ||
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
69 | self.__rssAction = self.addAction( |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
70 | UI.PixmapCache.getIcon("rss16"), |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
71 | QLineEdit.ActionPosition.TrailingPosition) |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
72 | self.__rssAction.setVisible(False) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
74 | self.__bookmarkAction = self.addAction( |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
75 | self.__bmInactiveIcon, |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
76 | QLineEdit.ActionPosition.TrailingPosition) |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
77 | self.__bookmarkAction.setVisible(False) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
79 | self.__safeBrowsingLabel.clicked.connect(self.__showThreatInfo) |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
80 | self.__bookmarkAction.triggered.connect(self.__showBookmarkInfo) |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
81 | self.__rssAction.triggered.connect(self.__rssTriggered) |
661
f9d49e0c2522
Added code to show some bookmark data from the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
658
diff
changeset
|
82 | |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
83 | self.__mw.bookmarksManager().entryChanged.connect( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
84 | self.__bookmarkChanged) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
85 | self.__mw.bookmarksManager().entryAdded.connect( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
86 | self.__bookmarkChanged) |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
87 | self.__mw.bookmarksManager().entryRemoved.connect( |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
88 | self.__bookmarkChanged) |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
89 | self.__mw.speedDial().pagesChanged.connect( |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
90 | self.__bookmarkChanged) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | 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
|
93 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | 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
|
95 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
96 | @param browser reference to the browser widget |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
97 | @type WebBrowserView |
653
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 | self.__browser = browser |
4726
c26e2a2dc0cb
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4725
diff
changeset
|
100 | 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
|
101 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | self.__browser.urlChanged.connect(self.__browserUrlChanged) |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
103 | self.__browser.loadProgress.connect(self.__loadProgress) |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
104 | 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
|
105 | 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
|
106 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
107 | 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
|
108 | self.__safeBrowsingLabel.setThreatInfo) |
7766 | 109 | |
110 | self.__sslLabel.clicked.connect(self.__browser.page().showSslInfo) | |
111 | self.__browser.page().sslConfigurationChanged.connect( | |
112 | self.__sslConfigurationChanged) | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | def browser(self): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | """ |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2585
diff
changeset
|
116 | 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
|
117 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
118 | @return reference to the associated browser |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
119 | @rtype WebBrowserView |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | return self.__browser |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
123 | @pyqtSlot(QUrl) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | 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
|
125 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | 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
|
127 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
128 | @param url new URL of the browser |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
129 | @type QUrl |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | """ |
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
|
131 | strUrl = url.toString() |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
132 | 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
|
133 | "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
|
134 | 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
|
135 | |
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 | 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
|
137 | 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
|
138 | self.setCursorPosition(0) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
140 | @pyqtSlot() |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
141 | def __checkBookmark(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
142 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
143 | 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
|
144 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
145 | manager = self.__mw.bookmarksManager() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
146 | if manager.bookmarkForUrl(self.__browser.url()) is not None: |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
147 | self.__bookmarkAction.setIcon(self.__bmActiveIcon) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
148 | bookmarks = manager.bookmarksForUrl(self.__browser.url()) |
4753
8d2ea02ed785
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4741
diff
changeset
|
149 | from WebBrowser.Bookmarks.BookmarkNode import BookmarkNode |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
150 | for bookmark in bookmarks: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
151 | manager.setTimestamp(bookmark, BookmarkNode.TsVisited, |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
152 | QDateTime.currentDateTime()) |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
153 | elif self.__mw.speedDial().pageForUrl(self.__browser.url()).url != "": |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
154 | self.__bookmarkAction.setIcon(self.__bmActiveIcon) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
155 | else: |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
156 | self.__bookmarkAction.setIcon(self.__bmInactiveIcon) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
157 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
158 | @pyqtSlot() |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
159 | def __loadStarted(self): |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
160 | """ |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
161 | Private slot to perform actions before the page is loaded. |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
162 | """ |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
163 | self.__bookmarkAction.setVisible(False) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
164 | self.__rssAction.setVisible(False) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
165 | self.__sslLabel.setVisible(False) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
166 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
167 | @pyqtSlot(int) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
168 | def __loadProgress(self, progress): |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
169 | """ |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
170 | Private slot to track the load progress. |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
171 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
172 | @param progress load progress in percent |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
173 | @type int |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
174 | """ |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
175 | foregroundColor = QApplication.palette().color(QPalette.ColorRole.Text) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
176 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
177 | backgroundColor = ( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
178 | Preferences.getWebBrowser("PrivateModeUrlColor") |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
179 | if self.__privateMode else |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
180 | QApplication.palette().color(QPalette.ColorRole.Base) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
181 | ) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
182 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
183 | if not self.__browser.getSafeBrowsingStatus(): |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
184 | # malicious web site |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
185 | backgroundColor = Preferences.getWebBrowser( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
186 | "MaliciousUrlColor") |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
187 | elif self.__browser.url().scheme() == "https": |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
188 | if WebBrowserWindow.networkManager().isInsecureHost( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
189 | self.__browser.url().host() |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
190 | ): |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
191 | backgroundColor = Preferences.getWebBrowser( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
192 | "InsecureUrlColor") |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
193 | else: |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
194 | backgroundColor = Preferences.getWebBrowser( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
195 | "SecureUrlColor") |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
196 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
197 | if progress in (0, 100): |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
198 | styleSheet = ( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
199 | f"color: {foregroundColor.name()}; " |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
200 | f"background-color: {backgroundColor.name()};" |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
201 | ) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
202 | else: |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
203 | highlight = QApplication.palette().color( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
204 | QPalette.ColorRole.Highlight) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
205 | r = (highlight.red() + 2 * backgroundColor.red()) // 3 |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
206 | g = (highlight.green() + 2 * backgroundColor.green()) // 3 |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
207 | b = (highlight.blue() + 2 * backgroundColor.blue()) // 3 |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
208 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
209 | loadingColor = QColor(r, g, b) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
210 | if abs(loadingColor.lightness() - |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
211 | backgroundColor.lightness()) < 20: |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
212 | r = (2 * highlight.red() + backgroundColor.red()) // 3 |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
213 | g = (2 * highlight.green() + backgroundColor.green()) // 3 |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
214 | b = (2 * highlight.blue() + backgroundColor.blue()) // 3 |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
215 | loadingColor = QColor(r, g, b) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
216 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
217 | styleSheet = ( |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
218 | f"color: {foregroundColor.name()}; " |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
219 | f"background-color: qlineargradient(" |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
220 | f"spread: pad, x1: 0, y1: 0, x2: 1, y2: 0, " |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
221 | f"stop: 0 {loadingColor.name()}, " |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
222 | f"stop: {progress / 100.0 - 0.001} {loadingColor.name()}, " |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
223 | f"stop: {progress / 100.0 + 0.001} {backgroundColor.name()}, " |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
224 | f"stop: 1 {backgroundColor.name()});" |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
225 | ) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
226 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
227 | self.setStyleSheet(styleSheet) |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
228 | self.repaint() |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
229 | |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
230 | @pyqtSlot(bool) |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
231 | def __loadFinished(self, ok): |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
232 | """ |
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
233 | 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
|
234 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
235 | @param ok flag indicating a successful load |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
236 | @type bool |
657
099d1ab9073e
Added the SSL info label to the URL bar.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
653
diff
changeset
|
237 | """ |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
238 | if self.__browser.url().scheme() in ["eric", "about"]: |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
239 | self.__bookmarkAction.setVisible(False) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
240 | else: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
241 | self.__checkBookmark() |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
242 | self.__bookmarkAction.setVisible(True) |
4709
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
243 | |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
244 | 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
|
245 | 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
|
246 | 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
|
247 | |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
248 | if ok: |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
249 | 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
|
250 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
251 | @pyqtSlot() |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | def preferencesChanged(self): |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | 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
|
255 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | self.update() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
257 | |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
258 | @pyqtSlot() |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
259 | def __showBookmarkInfo(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
260 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
261 | 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
|
262 | """ |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
263 | from .BookmarkActionSelectionDialog import ( |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
264 | BookmarkActionSelectionDialog |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
265 | ) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
266 | url = self.__browser.url() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
267 | 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
|
268 | if dlg.exec() == QDialog.DialogCode.Accepted: |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
269 | action = dlg.getAction() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
270 | if action == BookmarkActionSelectionDialog.AddBookmark: |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
271 | self.__browser.addBookmark() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
272 | elif action == BookmarkActionSelectionDialog.EditBookmark: |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
273 | bookmark = ( |
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
274 | self.__mw.bookmarksManager().bookmarkForUrl(url) |
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
275 | ) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
276 | from .BookmarkInfoDialog import BookmarkInfoDialog |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
277 | 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
|
278 | dlg.exec() |
4868
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
279 | elif action == BookmarkActionSelectionDialog.AddSpeeddial: |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
280 | self.__mw.speedDial().addPage( |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
281 | url, self.__browser.title()) |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
282 | elif action == BookmarkActionSelectionDialog.RemoveSpeeddial: |
985d275502c8
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4801
diff
changeset
|
283 | self.__mw.speedDial().removePage(url) |
4732
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
284 | |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
285 | @pyqtSlot() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
286 | def __bookmarkChanged(self): |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
287 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
288 | 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
|
289 | """ |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
290 | self.__checkBookmark() |
5ac4fc1dfc20
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4726
diff
changeset
|
291 | |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | 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
|
293 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | 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
|
295 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
296 | @param evt reference to the focus event |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
297 | @type QFocusEvent |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | 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
|
300 | self.__browserUrlChanged(self.__browser.url()) |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
301 | super().focusOutEvent(evt) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | |
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
|
303 | 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
|
304 | """ |
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 | 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
|
306 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
307 | @param evt reference to the mouse event |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
308 | @type QMouseEvent |
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
|
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: |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8205
diff
changeset
|
317 | super().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 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
323 | @param evt reference to the mouse event |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
324 | @type QMouseEvent |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | """ |
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
|
326 | 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
|
327 | self.selectAll() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | else: |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
329 | super().mouseDoubleClickEvent(evt) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | 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
|
332 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
333 | 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
|
334 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
335 | @param evt reference to the key press event |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
336 | @type QKeyEvent |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | """ |
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
|
338 | 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
|
339 | 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
|
340 | self.setText( |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
341 | 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
|
342 | self.selectAll() |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
343 | completer = self.completer() |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
344 | if completer: |
8612533a223f
Started porting the eric web browser to use QtWebEngine.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
345 | 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
|
346 | return |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
347 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | currentText = self.text().strip() |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
349 | 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
|
350 | 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
|
351 | not currentText.lower().startswith(("http://", "https://")) |
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
352 | ): |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | append = "" |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
354 | if evt.modifiers() == Qt.KeyboardModifier.ControlModifier: |
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 ( |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
357 | evt.modifiers() == ( |
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
|
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" |
8319
ea11a3948f40
Continued porting eric to PyQt6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8318
diff
changeset
|
363 | elif evt.modifiers() == Qt.KeyboardModifier.ShiftModifier: |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | append = ".net" |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | if append != "": |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | 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
|
368 | host = url.host() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | 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
|
370 | host += append |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | url.setHost(host) |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | 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
|
373 | |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
374 | super().keyPressEvent(evt) |
653
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 | 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
|
377 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | 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
|
379 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
380 | @param evt reference to the drag enter event |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
381 | @type QDragEnterEvent |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | mimeData = evt.mimeData() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | 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
|
385 | evt.acceptProposedAction() |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
387 | super().dragEnterEvent(evt) |
653
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | 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
|
390 | """ |
0540f3c52b46
Changed the web browser to give it a more modern look.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | 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
|
392 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
393 | @param evt reference to the drop event |
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
394 | @type QDropEvent |
653
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(): |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
406 | super().dropEvent(evt) |
653
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 | |
8857
8191d15b8974
Added some style sheet and color related TODO markers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8556
diff
changeset
|
414 | @pyqtSlot() |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
415 | def __setRssButton(self): |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
416 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
417 | Private slot to show the RSS button. |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
418 | """ |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
419 | self.__rssAction.setVisible(self.__browser.checkRSS()) |
4758
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
420 | |
8556
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
421 | @pyqtSlot() |
766e1566cb74
Next batch of changes for QtWebEngine as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8553
diff
changeset
|
422 | def __rssTriggered(self): |
4758
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 | Private slot to handle clicking the RSS icon. |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
425 | """ |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
426 | from WebBrowser.Feeds.FeedsDialog import FeedsDialog |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
427 | feeds = self.__browser.getRSS() |
c973eef8fef1
Continued porting the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4753
diff
changeset
|
428 | 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
|
429 | 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
|
430 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
431 | @pyqtSlot(QPoint) |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
432 | 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
|
433 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
434 | 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
|
435 | |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
436 | @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
|
437 | @type QPoint |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
438 | """ |
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
439 | 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
|
440 | if threatInfo: |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
441 | 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
|
442 | SafeBrowsingInfoWidget |
7270
41d09cf20415
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
443 | ) |
5829
d3448873ced3
Finished coding the safe browsing module of the new web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5624
diff
changeset
|
444 | 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
|
445 | widget.showAt(pos) |
7766 | 446 | |
447 | @pyqtSlot() | |
448 | def __sslConfigurationChanged(self): | |
449 | """ | |
450 | Private slot to handle a change of the associated web page SSL | |
451 | configuration. | |
452 | """ | |
453 | sslConfiguration = self.__browser.page().getSslConfiguration() | |
454 | if sslConfiguration is not None and QSslCertificate is not None: | |
455 | sslCertificate = self.__browser.page().getSslCertificate() | |
456 | if sslCertificate is not None: | |
457 | 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
|
458 | 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
|
459 | QSslCertificate.SubjectInfo.Organization))) |
7766 | 460 | if org == "": |
461 | cn = Utilities.decodeString(", ".join( | |
462 | 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
|
463 | QSslCertificate.SubjectInfo.CommonName))) |
7766 | 464 | if cn != "": |
465 | org = cn.split(".", 1)[1] | |
466 | if org == "": | |
467 | org = self.tr("Unknown") | |
468 | self.__sslLabel.setText(" {0} ".format(org)) | |
469 | self.__sslLabel.setVisible(True) | |
470 | valid = not sslCertificate.isBlacklisted() | |
471 | if valid: | |
472 | config = self.__browser.page().getSslConfiguration() | |
473 | if config is None or config.sessionCipher().isNull(): | |
474 | valid = False | |
475 | self.__sslLabel.setValidity(valid) | |
476 | else: | |
477 | self.__sslLabel.setVisible(False) | |
478 | else: | |
479 | self.__sslLabel.setVisible(False) |