11 from __future__ import unicode_literals |
11 from __future__ import unicode_literals |
12 try: |
12 try: |
13 str = unicode # __IGNORE_EXCEPTION__ |
13 str = unicode # __IGNORE_EXCEPTION__ |
14 except NameError: |
14 except NameError: |
15 pass |
15 pass |
|
16 |
|
17 import os |
16 |
18 |
17 from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QT_TRANSLATE_NOOP, \ |
19 from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QT_TRANSLATE_NOOP, \ |
18 QUrl, QBuffer, QIODevice, QFileInfo, Qt, QTimer, QEvent, \ |
20 QUrl, QBuffer, QIODevice, QFileInfo, Qt, QTimer, QEvent, \ |
19 QRect, QFile, QPoint, QByteArray, qVersion |
21 QRect, QFile, QPoint, QByteArray, qVersion |
20 from PyQt5.QtGui import QDesktopServices, QClipboard, QMouseEvent, QColor, \ |
22 from PyQt5.QtGui import QDesktopServices, QClipboard, QMouseEvent, QColor, \ |
899 self.mw.newTab(name) |
902 self.mw.newTab(name) |
900 self.ctrlPressed = False |
903 self.ctrlPressed = False |
901 return |
904 return |
902 |
905 |
903 if not name.scheme(): |
906 if not name.scheme(): |
904 name.setUrl(Preferences.getHelp("DefaultScheme") + name.toString()) |
907 if not os.path.exists(name.toString()): |
|
908 name.setScheme(Preferences.getWebBrowser("DefaultScheme")) |
|
909 else: |
|
910 if Utilities.isWindowsPlatform(): |
|
911 name.setUrl("file:///" + Utilities.fromNativeSeparators( |
|
912 name.toString())) |
|
913 else: |
|
914 name.setUrl("file://" + name.toString()) |
905 |
915 |
906 if len(name.scheme()) == 1 or \ |
916 if len(name.scheme()) == 1 or \ |
907 name.scheme() == "file": |
917 name.scheme() == "file": |
908 # name is a local file |
918 # name is a local file |
909 if name.scheme() and len(name.scheme()) == 1: |
919 if name.scheme() and len(name.scheme()) == 1: |