6 |
6 |
7 """ |
7 """ |
8 Module implementing the web browser using QWebEngineView. |
8 Module implementing the web browser using QWebEngineView. |
9 """ |
9 """ |
10 |
10 |
|
11 import contextlib |
|
12 import functools |
11 import os |
13 import os |
12 import functools |
|
13 import contextlib |
|
14 import pathlib |
14 import pathlib |
15 |
15 |
16 from PyQt6.QtCore import ( |
16 from PyQt6.QtCore import ( |
|
17 QByteArray, |
|
18 QDataStream, |
|
19 QDateTime, |
|
20 QEvent, |
|
21 QIODevice, |
|
22 QPoint, |
|
23 QPointF, |
|
24 QStandardPaths, |
|
25 Qt, |
|
26 QTimer, |
|
27 QUrl, |
17 pyqtSignal, |
28 pyqtSignal, |
18 pyqtSlot, |
29 pyqtSlot, |
19 Qt, |
|
20 QUrl, |
|
21 QTimer, |
|
22 QEvent, |
|
23 QPoint, |
|
24 QPointF, |
|
25 QDateTime, |
|
26 QStandardPaths, |
|
27 QByteArray, |
|
28 QIODevice, |
|
29 QDataStream, |
|
30 ) |
30 ) |
31 from PyQt6.QtGui import ( |
31 from PyQt6.QtGui import ( |
|
32 QClipboard, |
|
33 QContextMenuEvent, |
|
34 QCursor, |
32 QDesktopServices, |
35 QDesktopServices, |
33 QClipboard, |
|
34 QIcon, |
36 QIcon, |
35 QContextMenuEvent, |
|
36 QPixmap, |
37 QPixmap, |
37 QCursor, |
|
38 ) |
38 ) |
39 from PyQt6.QtWidgets import QStyle, QMenu, QApplication, QDialog |
39 from PyQt6.QtWebEngineCore import QWebEngineDownloadRequest, QWebEnginePage |
40 from PyQt6.QtWebEngineCore import QWebEnginePage, QWebEngineDownloadRequest |
|
41 from PyQt6.QtWebEngineWidgets import QWebEngineView |
40 from PyQt6.QtWebEngineWidgets import QWebEngineView |
42 |
41 from PyQt6.QtWidgets import QApplication, QDialog, QMenu, QStyle |
43 from eric7.EricWidgets import EricMessageBox, EricFileDialog |
|
44 from eric7.EricWidgets.EricApplication import ericApp |
|
45 |
|
46 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
|
47 from .WebBrowserPage import WebBrowserPage |
|
48 |
|
49 from .Tools.WebIconLoader import WebIconLoader |
|
50 from .Tools import Scripts |
|
51 |
|
52 from . import WebInspector |
|
53 from .Tools.WebBrowserTools import getHtmlPage, pixmapToDataUrl |
|
54 |
42 |
55 from eric7 import Preferences, Utilities |
43 from eric7 import Preferences, Utilities |
56 from eric7.EricGui import EricPixmapCache |
44 from eric7.EricGui import EricPixmapCache |
57 |
45 from eric7.EricWidgets import EricFileDialog, EricMessageBox |
|
46 from eric7.EricWidgets.EricApplication import ericApp |
58 from eric7.Globals import qVersionTuple |
47 from eric7.Globals import qVersionTuple |
|
48 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
|
49 |
|
50 from . import WebInspector |
|
51 from .Tools import Scripts |
|
52 from .Tools.WebBrowserTools import getHtmlPage, pixmapToDataUrl |
|
53 from .Tools.WebIconLoader import WebIconLoader |
|
54 from .WebBrowserPage import WebBrowserPage |
59 |
55 |
60 |
56 |
61 class WebBrowserView(QWebEngineView): |
57 class WebBrowserView(QWebEngineView): |
62 """ |
58 """ |
63 Class implementing the web browser view widget. |
59 Class implementing the web browser view widget. |
1895 @type str |
1891 @type str |
1896 """ |
1892 """ |
1897 modified = QDateTime.fromString(lastModified, "MM/dd/yyyy hh:mm:ss") |
1893 modified = QDateTime.fromString(lastModified, "MM/dd/yyyy hh:mm:ss") |
1898 if modified.isValid(): |
1894 if modified.isValid(): |
1899 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
1895 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
|
1896 |
1900 from .Bookmarks.BookmarkNode import BookmarkNode |
1897 from .Bookmarks.BookmarkNode import BookmarkNode |
1901 |
1898 |
1902 manager = WebBrowserWindow.bookmarksManager() |
1899 manager = WebBrowserWindow.bookmarksManager() |
1903 for bookmark in manager.bookmarksForUrl(self.url()): |
1900 for bookmark in manager.bookmarksForUrl(self.url()): |
1904 manager.setTimestamp(bookmark, BookmarkNode.TsModified, modified) |
1901 manager.setTimestamp(bookmark, BookmarkNode.TsModified, modified) |