38 ) |
38 ) |
39 from PyQt6.QtWebEngineCore import QWebEngineDownloadRequest, QWebEnginePage |
39 from PyQt6.QtWebEngineCore import QWebEngineDownloadRequest, QWebEnginePage |
40 from PyQt6.QtWebEngineWidgets import QWebEngineView |
40 from PyQt6.QtWebEngineWidgets import QWebEngineView |
41 from PyQt6.QtWidgets import QApplication, QDialog, QMenu, QStyle |
41 from PyQt6.QtWidgets import QApplication, QDialog, QMenu, QStyle |
42 |
42 |
43 from eric7 import Preferences, Utilities |
43 from eric7 import Preferences |
44 from eric7.EricGui import EricPixmapCache |
44 from eric7.EricGui import EricPixmapCache |
45 from eric7.EricWidgets import EricFileDialog, EricMessageBox |
45 from eric7.EricWidgets import EricFileDialog, EricMessageBox |
46 from eric7.EricWidgets.EricApplication import ericApp |
46 from eric7.EricWidgets.EricApplication import ericApp |
47 from eric7.Globals import qVersionTuple |
47 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities, QtUtilities |
48 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
48 from eric7.WebBrowser.WebBrowserWindow import WebBrowserWindow |
49 from eric7.WebBrowser.ZoomManager import ZoomManager |
49 from eric7.WebBrowser.ZoomManager import ZoomManager |
50 |
50 |
51 from . import WebInspector |
51 from . import WebInspector |
52 from .Tools import Scripts |
52 from .Tools import Scripts |
266 |
266 |
267 if not name.scheme(): |
267 if not name.scheme(): |
268 if not os.path.exists(name.toString()): |
268 if not os.path.exists(name.toString()): |
269 name.setScheme(Preferences.getWebBrowser("DefaultScheme")) |
269 name.setScheme(Preferences.getWebBrowser("DefaultScheme")) |
270 else: |
270 else: |
271 if Utilities.isWindowsPlatform(): |
271 if OSUtilities.isWindowsPlatform(): |
272 name.setUrl( |
272 name.setUrl( |
273 "file:///" + Utilities.fromNativeSeparators(name.toString()) |
273 "file:///" |
|
274 + FileSystemUtilities.fromNativeSeparators(name.toString()) |
274 ) |
275 ) |
275 else: |
276 else: |
276 name.setUrl("file://" + name.toString()) |
277 name.setUrl("file://" + name.toString()) |
277 |
278 |
278 if len(name.scheme()) == 1 or name.scheme() == "file": |
279 if len(name.scheme()) == 1 or name.scheme() == "file": |
1965 ] |
1966 ] |
1966 if self.url().fileName(): |
1967 if self.url().fileName(): |
1967 defaultFileName = os.path.join(documentLocation, self.url().fileName()) |
1968 defaultFileName = os.path.join(documentLocation, self.url().fileName()) |
1968 else: |
1969 else: |
1969 defaultFileName = os.path.join(documentLocation, self.page().title()) |
1970 defaultFileName = os.path.join(documentLocation, self.page().title()) |
1970 if Utilities.isWindowsPlatform(): |
1971 if OSUtilities.isWindowsPlatform(): |
1971 defaultFileName += ".mht" |
1972 defaultFileName += ".mht" |
1972 else: |
1973 else: |
1973 defaultFileName += ".mhtml" |
1974 defaultFileName += ".mhtml" |
1974 |
1975 |
1975 fileName = "" |
1976 fileName = "" |
1992 ) |
1993 ) |
1993 |
1994 |
1994 extension = os.path.splitext(fileName)[1] |
1995 extension = os.path.splitext(fileName)[1] |
1995 if not extension: |
1996 if not extension: |
1996 # add the platform specific default extension |
1997 # add the platform specific default extension |
1997 if Utilities.isWindowsPlatform(): |
1998 if OSUtilities.isWindowsPlatform(): |
1998 extensionsIndex = 1 |
1999 extensionsIndex = 1 |
1999 else: |
2000 else: |
2000 extensionsIndex = 0 |
2001 extensionsIndex = 0 |
2001 extensions = extensionsList[index] |
2002 extensions = extensionsList[index] |
2002 fileName += extensions[extensionsIndex] |
2003 fileName += extensions[extensionsIndex] |
2373 |
2374 |
2374 ########################################################################### |
2375 ########################################################################### |
2375 ## Methods below implement slots for Qt 6.4+ |
2376 ## Methods below implement slots for Qt 6.4+ |
2376 ########################################################################### |
2377 ########################################################################### |
2377 |
2378 |
2378 if qVersionTuple() >= (6, 4, 0): |
2379 if QtUtilities.qVersionTuple() >= (6, 4, 0): |
2379 |
2380 |
2380 @pyqtSlot("QWebEngineFileSystemAccessRequest") |
2381 @pyqtSlot("QWebEngineFileSystemAccessRequest") |
2381 def __fileSystemAccessRequested(self, accessRequest): |
2382 def __fileSystemAccessRequested(self, accessRequest): |
2382 """ |
2383 """ |
2383 Private slot to handle file system access requests of the web page. |
2384 Private slot to handle file system access requests of the web page. |