Continued porting the web browser. QtWebEngine

Sun, 03 Apr 2016 16:22:18 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 03 Apr 2016 16:22:18 +0200
branch
QtWebEngine
changeset 4913
e16573640cb8
parent 4910
e97af1181efd
child 4914
d095b591e6fa

Continued porting the web browser.

- some more code cleanup

Helpviewer/HelpWindow.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/NetworkPage.py file | annotate | diff | comparison | revisions
Preferences/ConfigurationPages/WebBrowserPage.py file | annotate | diff | comparison | revisions
Preferences/__init__.py file | annotate | diff | comparison | revisions
ViewManager/ViewManager.py file | annotate | diff | comparison | revisions
WebBrowser/Bookmarks/BookmarksManager.py file | annotate | diff | comparison | revisions
WebBrowser/Bookmarks/BookmarksToolBar.py file | annotate | diff | comparison | revisions
WebBrowser/Feeds/FeedsDialog.py file | annotate | diff | comparison | revisions
WebBrowser/Feeds/FeedsManager.py file | annotate | diff | comparison | revisions
WebBrowser/FlashCookieManager/FlashCookieManager.py file | annotate | diff | comparison | revisions
WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py file | annotate | diff | comparison | revisions
WebBrowser/GreaseMonkey/GreaseMonkeyManager.py file | annotate | diff | comparison | revisions
WebBrowser/GreaseMonkey/GreaseMonkeyScript.py file | annotate | diff | comparison | revisions
WebBrowser/Network/LoadRequest.py file | annotate | diff | comparison | revisions
WebBrowser/Network/QtHelpSchemeHandler.py file | annotate | diff | comparison | revisions
WebBrowser/OpenSearch/OpenSearchEngine.py file | annotate | diff | comparison | revisions
WebBrowser/OpenSearch/OpenSearchManager.py file | annotate | diff | comparison | revisions
WebBrowser/Passwords/PasswordReader.py file | annotate | diff | comparison | revisions
WebBrowser/SpeedDial/PageThumbnailer.py file | annotate | diff | comparison | revisions
WebBrowser/SpeedDial/SpeedDial.py file | annotate | diff | comparison | revisions
WebBrowser/Sync/SyncDirectorySettingsPage.py file | annotate | diff | comparison | revisions
WebBrowser/Sync/SyncFtpSettingsPage.py file | annotate | diff | comparison | revisions
WebBrowser/Sync/SyncManager.py file | annotate | diff | comparison | revisions
WebBrowser/UrlBar/UrlBar.py file | annotate | diff | comparison | revisions
WebBrowser/VirusTotal/VirusTotalApi.py file | annotate | diff | comparison | revisions
WebBrowser/WebBrowserPage.py file | annotate | diff | comparison | revisions
WebBrowser/WebBrowserTabWidget.py file | annotate | diff | comparison | revisions
WebBrowser/WebBrowserView.py file | annotate | diff | comparison | revisions
WebBrowser/WebBrowserWindow.py file | annotate | diff | comparison | revisions
eric6.e4p file | annotate | diff | comparison | revisions
--- a/Helpviewer/HelpWindow.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/Helpviewer/HelpWindow.py	Sun Apr 03 16:22:18 2016 +0200
@@ -71,8 +71,6 @@
     
     helpwindows = []
 
-    maxMenuFilePathLen = 75
-    
     _fromEric = False
     useQtHelp = QTHELP_AVAILABLE
     
--- a/Preferences/ConfigurationPages/NetworkPage.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/Preferences/ConfigurationPages/NetworkPage.py	Sun Apr 03 16:22:18 2016 +0200
@@ -68,9 +68,6 @@
         self.downloadDirPicker.setText(Preferences.getUI("DownloadPath"))
         self.requestFilenameCheckBox.setChecked(
             Preferences.getUI("RequestDownloadFilename"))
-        try:
-        except ImportError:
-            self.cleanupGroup.hide()
         
         # HTTP proxy
         self.httpProxyHostEdit.setText(
--- a/Preferences/ConfigurationPages/WebBrowserPage.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/Preferences/ConfigurationPages/WebBrowserPage.py	Sun Apr 03 16:22:18 2016 +0200
@@ -13,7 +13,6 @@
 from .Ui_WebBrowserPage import Ui_WebBrowserPage
 
 import Preferences
-import UI.PixmapCache
 
 
 class WebBrowserPage(ConfigurationPageBase, Ui_WebBrowserPage):
--- a/Preferences/__init__.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/Preferences/__init__.py	Sun Apr 03 16:22:18 2016 +0200
@@ -1117,15 +1117,13 @@
                 QWebEngineSettings.JavascriptEnabled),
             "JavaScriptCanOpenWindows": webEngineSettings.testAttribute(
                 QWebEngineSettings.JavascriptCanOpenWindows),
+            # TODO: Qt 5.7?
 ##            "JavaScriptCanCloseWindows": webEngineSettings.testAttribute(
 ##                QWebEngineSettings.JavascriptCanCloseWindows),
             "JavaScriptCanAccessClipboard": webEngineSettings.testAttribute(
                 QWebEngineSettings.JavascriptCanAccessClipboard),
             "PluginsEnabled": webEngineSettings.testAttribute(
                 QWebEngineSettings.PluginsEnabled),
-##            "OfflineStorageDatabaseEnabled":
-##            websettings.testAttribute(
-##                QWebSettings.OfflineStorageDatabaseEnabled),
             "LocalStorageEnabled": webEngineSettings.testAttribute(
                 QWebEngineSettings.LocalStorageEnabled),
             "DefaultTextEncoding": webEngineSettings.defaultTextEncoding(),
@@ -2707,8 +2705,8 @@
     @param prefClass preferences class used as the storage area
     @return the requested help setting
     """
-    # the following entries are identical to the ones of the help viewer
-    # and are being redirected there
+    # the following entries are identical to the ones of the QtWebKit based
+    # help viewer and are being redirected there
     if key.startswith(("FlashCookie", "Pim", "VirusTotal")):
         return getHelp(key, prefClass)
     
@@ -2784,8 +2782,6 @@
         if QWebEngineSettings is None:
             value = prefClass.helpDefaults[key]
         return value
-##    elif key in [ "CachePolicy",
-##                  ]:
     elif key in ["StartupBehavior", "HistoryLimit",
                  "DownloadManagerRemovePolicy","SyncType", "SyncFtpPort",
                  "SyncFtpIdleTimeout", "SyncEncryptionKeyLength",
@@ -2797,14 +2793,6 @@
                  ]:
         return int(prefClass.settings.value(
             "WebBrowser/" + key, prefClass.webBrowserDefaults[key]))
-##    elif key in ["JavaScriptCanCloseWindows",
-##                 "DnsPrefetchEnabled",
-##                 "OfflineStorageDatabaseEnabled",
-##                 "OfflineWebApplicationCacheEnabled", "LocalStorageEnabled",
-##                 "AccessKeysEnabled",
-##                 "SiteSpecificQuirksEnabled",
-##                 "ClickToFlashEnabled",
-##                 ]:
     elif key in ["SingleWebBrowserWindow", "SaveGeometry", "JavaScriptEnabled",
                  "JavaScriptCanOpenWindows", "JavaScriptCanAccessClipboard",
                  "AutoLoadImages", "LocalStorageEnabled",
@@ -2823,8 +2811,6 @@
                  ]:
         return toBool(prefClass.settings.value(
             "WebBrowser/" + key, prefClass.webBrowserDefaults[key]))
-##    elif key in ["ClickToFlashWhitelist",
-##                 "NoCacheHosts",
     elif key in ["GreaseMonkeyDisabledScripts", "SendRefererWhitelist",
                  "AdBlockSubscriptions", "AdBlockExceptions",
                  ]:
@@ -2843,8 +2829,8 @@
     @param value the value to be set
     @param prefClass preferences class used as the storage area
     """
-    # the following entries are identical to the ones of the help viewer
-    # and are being redirected there
+    # the following entries are identical to the ones of the QtWebKit based
+    # help viewer and are being redirected there
     if key.startswith(("FlashCookie", "Pim", "VirusTotal")):
         setHelp(key, value, prefClass)
     
--- a/ViewManager/ViewManager.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/ViewManager/ViewManager.py	Sun Apr 03 16:22:18 2016 +0200
@@ -11,7 +11,7 @@
 
 import os
 
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QSignalMapper, QTimer, \
+from PyQt5.QtCore import pyqtSignal, QSignalMapper, QTimer, \
     QFileInfo, QRegExp, Qt, QCoreApplication
 from PyQt5.QtGui import QColor, QKeySequence, QPalette, QPixmap
 from PyQt5.QtWidgets import QLineEdit, QToolBar, QWidgetAction, QDialog, \
@@ -6574,7 +6574,6 @@
         if editor:
             self.editorRenamedEd.emit(editor)
         
-##    @pyqtSlot(str, int, int)
     def __cursorChanged(self, fn, line, pos):
         """
         Private slot to handle the cursorChanged signal.
--- a/WebBrowser/Bookmarks/BookmarksManager.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Bookmarks/BookmarksManager.py	Sun Apr 03 16:22:18 2016 +0200
@@ -11,8 +11,8 @@
 
 import os
 
-from PyQt5.QtCore import pyqtSignal, Qt, QT_TRANSLATE_NOOP, QObject, QFile, \
-    QIODevice, QXmlStreamReader, QDate, QDateTime, QFileInfo, QUrl, \
+from PyQt5.QtCore import pyqtSignal, QT_TRANSLATE_NOOP, QObject, QFile, \
+    QIODevice, QXmlStreamReader, QDateTime, QFileInfo, QUrl, \
     QCoreApplication
 from PyQt5.QtWidgets import QUndoStack, QUndoCommand, QDialog
 
@@ -22,7 +22,6 @@
 
 from Utilities.AutoSaver import AutoSaver
 import Utilities
-import Preferences
 
 BOOKMARKBAR = QT_TRANSLATE_NOOP("BookmarksManager", "Bookmarks Bar")
 BOOKMARKMENU = QT_TRANSLATE_NOOP("BookmarksManager", "Bookmarks Menu")
--- a/WebBrowser/Bookmarks/BookmarksToolBar.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Bookmarks/BookmarksToolBar.py	Sun Apr 03 16:22:18 2016 +0200
@@ -121,9 +121,10 @@
         assert idx.isValid()
         
         if self._mouseButton == Qt.XButton1:
-            self.__mw.currentBrowser().pageAction(QWebEnginePage.Back).trigger()
+            self.__mw.currentBrowser().triggerPageAction(QWebEnginePage.Back)
         elif self._mouseButton == Qt.XButton2:
-            self.__mw.currentBrowser().pageAction(QWebEnginePage.Forward).trigger()
+            self.__mw.currentBrowser().triggerPageAction(
+                QWebEnginePage.Forward)
         elif self._mouseButton == Qt.LeftButton:
             if self._keyboardModifiers & Qt.ControlModifier:
                 self.newUrl.emit(
--- a/WebBrowser/Feeds/FeedsDialog.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Feeds/FeedsDialog.py	Sun Apr 03 16:22:18 2016 +0200
@@ -9,7 +9,7 @@
 
 from __future__ import unicode_literals
 
-from PyQt5.QtCore import QUrl, qVersion
+from PyQt5.QtCore import QUrl
 from PyQt5.QtWidgets import QDialog, QPushButton, QLabel
 
 from E5Gui import E5MessageBox
@@ -63,19 +63,8 @@
         url = QUrl(urlString)
         if url.isRelative():
             url = self.__browser.url().resolved(url)
-            if qVersion() >= "5.0.0":
-                urlString = url.toDisplayString(QUrl.FullyDecoded)
-            else:
-                urlString = url.toString()
-##            if not urlString.startswith("/"):
-##                urlString = "/" + urlString
-##            urlString = self.__browser.url().host() + urlString
-##            tmpUrl = QUrl(urlString)
-##            if not tmpUrl.scheme():
-##                urlString = "http://" + urlString
-##            tmpUrl = QUrl(urlString)
-##            if not tmpUrl.scheme() or not tmpUrl.host():
-##                return
+            urlString = url.toDisplayString(QUrl.FullyDecoded)
+        
         if not url.isValid():
             return
         
--- a/WebBrowser/Feeds/FeedsManager.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Feeds/FeedsManager.py	Sun Apr 03 16:22:18 2016 +0200
@@ -14,7 +14,7 @@
     pass
 
 from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QXmlStreamReader
-from PyQt5.QtGui import QIcon, QCursor
+from PyQt5.QtGui import QCursor
 from PyQt5.QtWidgets import QDialog, QTreeWidgetItem, QMenu, QApplication
 from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply
 
--- a/WebBrowser/FlashCookieManager/FlashCookieManager.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/FlashCookieManager/FlashCookieManager.py	Sun Apr 03 16:22:18 2016 +0200
@@ -44,8 +44,6 @@
         self.__flashCookieManagerDialog = None
         self.__flashCookies = []    # list of FlashCookie
         self.__newCookiesList = []  # list of str
-##        self.__whitelist = []       # list of str
-##        self.__blacklist = []       # list of str
         
         self.__timer = QTimer(self)
         self.__timer.setInterval(FlashCookieManager.RefreshInterval)
--- a/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/GreaseMonkey/GreaseMonkeyConfiguration/GreaseMonkeyConfigurationListDelegate.py	Sun Apr 03 16:22:18 2016 +0200
@@ -10,13 +10,10 @@
 
 from __future__ import unicode_literals
 
-from PyQt5.QtCore import Qt, QSize, QRect, qVersion
+from PyQt5.QtCore import Qt, QSize, QRect
 from PyQt5.QtGui import QFontMetrics, QPalette, QFont
 from PyQt5.QtWidgets import QStyle, QStyledItemDelegate, QApplication
-if qVersion() >= "5.0.0":
-    from PyQt5.QtWidgets import QStyleOptionViewItem
-else:
-    from PyQt5.QtWidgets import QStyleOptionViewItemV4 as QStyleOptionViewItem
+from PyQt5.QtWidgets import QStyleOptionViewItem
 
 import UI.PixmapCache
 import Globals
--- a/WebBrowser/GreaseMonkey/GreaseMonkeyManager.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/GreaseMonkey/GreaseMonkeyManager.py	Sun Apr 03 16:22:18 2016 +0200
@@ -11,8 +11,8 @@
 
 import os
 
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QObject, QTimer, QFile, QDir, \
-    QSettings, QMetaObject, QUrl, Q_ARG
+from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QObject, QTimer, QFile, \
+    QDir, QSettings, QMetaObject, QUrl, Q_ARG
 
 import Utilities
 import Preferences
--- a/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py	Sun Apr 03 16:22:18 2016 +0200
@@ -282,9 +282,6 @@
             elif key == "@version":
                 self.__version = value
             
-##            elif key == "@updateURL":
-##                self.__downloadUrl = QUrl(value)
-##            
             elif key in ["@include", "@match"]:
                 self.__include.append(value)
             
--- a/WebBrowser/Network/LoadRequest.py	Sat Apr 02 19:44:09 2016 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2016 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing a page load request object.
-"""
-
-#
-# This code was ported from QupZilla.
-# Copyright (C) David Rosca <nowrep@gmail.com>
-#
-
-from __future__ import unicode_literals
-
-try:
-    from enum import Enum
-except ImportError:
-    from ThirdParty.enum import Enum
-
-from PyQt5.QtCore import QByteArray, QUrl
-
-
-class LoadRequestOperations(Enum):
-    """
-    Class implementing the load request operations.
-    """
-    GetOperation = 0
-    PostOperation = 1
-
-
-class LoadRequest(object):
-    """
-    Class implementing a page load request object.
-    """
-    def __init__(self, urlOrRequest=None,
-                 op=LoadRequestOperations.GetOperation, data=QByteArray()):
-        """
-        Constructor
-        
-        @param urlOrRequest URL or request object
-        @type QUrl or LoadRequest
-        @param op request operation
-        @type LoadRequestOperations
-        @param data request data
-        @type QByteArray
-        """
-        self.__url = QUrl()
-        self.__operation = op
-        self.__data = QByteArray(data)
-        
-        if isinstance(urlOrRequest, QUrl):
-            self.__url = QUrl(urlOrRequest)
-        elif isinstance(urlOrRequest, LoadRequest):
-            self.__url = urlOrRequest.url()
-            self.__operation = urlOrRequest.operation()
-            self.__data = urlOrRequest.data()
-    
-    def isEmpty(self):
-        """
-        Public method to test for an empty request.
-        
-        @return flag indicating an empty request
-        @rtype bool
-        """
-        return self.__url.isEmpty()
-    
-    def url(self):
-        """
-        Public method to get the request URL.
-        
-        @return request URL
-        @rtype QUrl
-        """
-        return QUrl(self.__url)
-    
-    def setUrl(self, url):
-        """
-        Public method to set the request URL.
-        
-        @param url request URL
-        @type QUrl
-        """
-        self.__url = QUrl(url)
-    
-    def urlString(self):
-        """
-        Public method to get the request URL as a string.
-        
-        @return request URL as a string
-        @rtype str
-        """
-        return QUrl.fromPercentEncoding(self.__url.toEncoded())
-    
-    def operation(self):
-        """
-        Public method to get the request operation.
-        
-        @return request operation
-        @rtype one of LoadRequest.GetOperation, LoadRequest.PostOperation
-        """
-        return self.__operation
-    
-    def setOperation(self, op):
-        """
-        Public method to set the request operation.
-        
-        @param op request operation
-        @type one of LoadRequest.GetOperation, LoadRequest.PostOperation
-        """
-        assert op in [LoadRequestOperations.GetOperation,
-                      LoadRequestOperations.PostOperation]
-        
-        self.__operation = op
-    
-    def data(self):
-        """
-        Public method to get the request data.
-        
-        @return request data
-        @rtype QByteArray
-        """
-        return QByteArray(self.__data)
-    
-    def setData(self, data):
-        """
-        Public method to set the request data
-        
-        @param data request data
-        @type QByteArray
-        """
-        self.__data = QByteArray(data)
--- a/WebBrowser/Network/QtHelpSchemeHandler.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Network/QtHelpSchemeHandler.py	Sun Apr 03 16:22:18 2016 +0200
@@ -16,10 +16,6 @@
 from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler, \
     QWebEngineUrlRequestJob
 
-##from .SchemeAccessHandler import SchemeAccessHandler
-##
-##from .NetworkReply import NetworkReply
-##
 QtDocPath = "qthelp://org.qt-project."
 
 ExtensionMap = {
@@ -206,78 +202,3 @@
         @rtype bytes
         """
         return self.__mimeType.encode("utf-8")
-##
-##
-##
-##
-##
-##class QtHelpAccessHandler(SchemeAccessHandler):
-##    """
-##    Class implementing a scheme access handler for QtHelp.
-##    """
-##    def __init__(self, engine, parent=None):
-##        """
-##        Constructor
-##        
-##        @param engine reference to the help engine (QHelpEngine)
-##        @param parent reference to the parent object (QObject)
-##        """
-##        SchemeAccessHandler.__init__(self, parent)
-##        
-##        self.__engine = engine
-##    
-##    def __mimeFromUrl(self, url):
-##        """
-##        Private method to guess the mime type given an URL.
-##        
-##        @param url URL to guess the mime type from (QUrl)
-##        @return mime type for the given URL (string)
-##        """
-##        path = url.path()
-##        ext = os.path.splitext(path)[1].lower()
-##        if ext in ExtensionMap:
-##            return ExtensionMap[ext]
-##        else:
-##            return "application/octet-stream"
-##    
-##    def createRequest(self, op, request, outgoingData=None):
-##        """
-##        Public method to create a request.
-##        
-##        @param op the operation to be performed
-##            (QNetworkAccessManager.Operation)
-##        @param request reference to the request object (QNetworkRequest)
-##        @param outgoingData reference to an IODevice containing data to be sent
-##            (QIODevice)
-##        @return reference to the created reply object (QNetworkReply)
-##        """
-##        url = request.url()
-##        strUrl = url.toString()
-##        
-##        # For some reason the url to load is already wrong (passed from webkit)
-##        # though the css file and the references inside should work that way.
-##        # One possible problem might be that the css is loaded at the same
-##        # level as the html, thus a path inside the css like
-##        # (../images/foo.png) might cd out of the virtual folder
-##        if not self.__engine.findFile(url).isValid():
-##            if strUrl.startswith(QtDocPath):
-##                newUrl = request.url()
-##                if not newUrl.path().startswith("/qdoc/"):
-##                    newUrl.setPath("qdoc" + newUrl.path())
-##                    url = newUrl
-##                    strUrl = url.toString()
-##        
-##        mimeType = mimetypes.guess_type(strUrl)[0]
-##        if mimeType is None:
-##            # do our own (limited) guessing
-##            mimeType = self.__mimeFromUrl(url)
-##        
-##        if self.__engine.findFile(url).isValid():
-##            data = self.__engine.fileData(url)
-##        else:
-##            data = QByteArray(self.tr(
-##                """<title>Error 404...</title>"""
-##                """<div align="center"><br><br>"""
-##                """<h1>The page could not be found</h1><br>"""
-##                """<h3>'{0}'</h3></div>""").format(strUrl).encode("utf-8"))
-##        return NetworkReply(request, data, mimeType, self.parent())
--- a/WebBrowser/OpenSearch/OpenSearchEngine.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/OpenSearch/OpenSearchEngine.py	Sun Apr 03 16:22:18 2016 +0200
@@ -12,8 +12,8 @@
 import re
 import json
 
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QLocale, QUrl, QByteArray, \
-    QBuffer, QIODevice, QObject, qVersion
+from PyQt5.QtCore import pyqtSignal, pyqtSlot, QLocale, QUrl, QUrlQuery, \
+    QByteArray, QBuffer, QIODevice, QObject
 from PyQt5.QtGui import QImage
 from PyQt5.QtNetwork import QNetworkRequest, QNetworkAccessManager, \
     QNetworkReply
@@ -178,19 +178,12 @@
             .encode("utf-8"))
         
         if self.__searchMethod != "post":
-            if qVersion() >= "5.0.0":
-                from PyQt5.QtCore import QUrlQuery
-                urlQuery = QUrlQuery(ret)
-                for parameter in self._searchParameters:
-                    urlQuery.addQueryItem(
-                        parameter[0],
-                        self.parseTemplate(searchTerm, parameter[1]))
-                ret.setQuery(urlQuery)
-            else:
-                for parameter in self._searchParameters:
-                    ret.addQueryItem(
-                        parameter[0],
-                        self.parseTemplate(searchTerm, parameter[1]))
+            urlQuery = QUrlQuery(ret)
+            for parameter in self._searchParameters:
+                urlQuery.addQueryItem(
+                    parameter[0],
+                    self.parseTemplate(searchTerm, parameter[1]))
+            ret.setQuery(urlQuery)
         
         return ret
     
@@ -233,19 +226,12 @@
             searchTerm, self._suggestionsUrlTemplate).encode("utf-8")))
         
         if self.__searchMethod != "post":
-            if qVersion() >= "5.0.0":
-                from PyQt5.QtCore import QUrlQuery
-                urlQuery = QUrlQuery(ret)
-                for parameter in self._suggestionsParameters:
-                    urlQuery.addQueryItem(
-                        parameter[0],
-                        self.parseTemplate(searchTerm, parameter[1]))
-                ret.setQuery(urlQuery)
-            else:
-                for parameter in self._suggestionsParameters:
-                    ret.addQueryItem(
-                        parameter[0],
-                        self.parseTemplate(searchTerm, parameter[1]))
+            urlQuery = QUrlQuery(ret)
+            for parameter in self._suggestionsParameters:
+                urlQuery.addQueryItem(
+                    parameter[0],
+                    self.parseTemplate(searchTerm, parameter[1]))
+            ret.setQuery(urlQuery)
         
         return ret
     
--- a/WebBrowser/OpenSearch/OpenSearchManager.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/OpenSearch/OpenSearchManager.py	Sun Apr 03 16:22:18 2016 +0200
@@ -240,7 +240,6 @@
             return
         
         method = res["method"]
-        isPost = method == "post"
         actionUrl = QUrl(res["action"])
         inputName = res["inputName"]
         
@@ -282,7 +281,8 @@
         engine = OpenSearchEngine()
         engine.setName(engineName)
         engine.setDescription(engineName)
-        engine.setSearchUrlTemplate(actionUrl.toDisplayString(QUrl.FullyDecoded))
+        engine.setSearchUrlTemplate(
+            actionUrl.toDisplayString(QUrl.FullyDecoded))
         engine.setImage(view.icon().pixmap(16, 16).toImage())
         
         self.__addEngineByEngine(engine)
--- a/WebBrowser/Passwords/PasswordReader.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Passwords/PasswordReader.py	Sun Apr 03 16:22:18 2016 +0200
@@ -10,7 +10,7 @@
 from __future__ import unicode_literals
 
 from PyQt5.QtCore import QXmlStreamReader, QIODevice, QFile, \
-    QCoreApplication, QUrl, QByteArray
+    QCoreApplication, QUrl
 
 
 class PasswordReader(QXmlStreamReader):
--- a/WebBrowser/SpeedDial/PageThumbnailer.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/SpeedDial/PageThumbnailer.py	Sun Apr 03 16:22:18 2016 +0200
@@ -33,7 +33,6 @@
         super(PageThumbnailer, self).__init__(parent)
         
         self.__size = QSize(231, 130)
-##        self.__size = QSize(450, 253)
         self.__loadTitle = False
         self.__title = ""
         self.__url = QUrl()
@@ -132,6 +131,5 @@
         pixmap = QPixmap.fromImage(
             self.__view.grabFramebuffer().scaled(
                 self.__size, Qt.KeepAspectRatioByExpanding,
-##                self.__size, Qt.IgnoreAspectRatio,
                 Qt.SmoothTransformation))
         self.thumbnailCreated.emit(pixmap)
--- a/WebBrowser/SpeedDial/SpeedDial.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/SpeedDial/SpeedDial.py	Sun Apr 03 16:22:18 2016 +0200
@@ -191,11 +191,12 @@
             allPages = \
                 'url:"http://eric-ide.python-projects.org/"|'\
                 'title:"Eric Web Site";'\
-                'url:"http://www.riverbankcomputing.com/"|'\
+                'url:"https://www.riverbankcomputing.com/"|'\
                 'title:"PyQt Web Site";'\
                 'url:"http://www.qt.io/"|title:"Qt Web Site";'\
-                'url:"http://blog.qt.digia.com/"|title:"Qt Blog";'\
-                'url:"http://www.python.org"|title:"Python Language Website";'\
+                'url:"http://blog.qt.io/"|title:"Qt Blog";'\
+                'url:"https://www.python.org"|'\
+                'title:"Python Language Website";'\
                 'url:"http://www.google.com"|title:"Google";'
             self.changed(allPages)
     
--- a/WebBrowser/Sync/SyncDirectorySettingsPage.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Sync/SyncDirectorySettingsPage.py	Sun Apr 03 16:22:18 2016 +0200
@@ -44,7 +44,8 @@
         @return next wizard page ID (integer)
         """
         # save the settings
-        Preferences.setWebBrowser("SyncDirectoryPath", self.directoryPicker.text())
+        Preferences.setWebBrowser(
+            "SyncDirectoryPath", self.directoryPicker.text())
         
         from . import SyncGlobals
         return SyncGlobals.PageCheck
--- a/WebBrowser/Sync/SyncFtpSettingsPage.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Sync/SyncFtpSettingsPage.py	Sun Apr 03 16:22:18 2016 +0200
@@ -54,7 +54,8 @@
         Preferences.setWebBrowser("SyncFtpPassword", self.passwordEdit.text())
         Preferences.setWebBrowser("SyncFtpPath", self.pathEdit.text())
         Preferences.setWebBrowser("SyncFtpPort", self.portSpinBox.value())
-        Preferences.setWebBrowser("SyncFtpIdleTimeout", self.idleSpinBox.value())
+        Preferences.setWebBrowser("SyncFtpIdleTimeout",
+                                  self.idleSpinBox.value())
         
         from . import SyncGlobals
         return SyncGlobals.PageCheck
--- a/WebBrowser/Sync/SyncManager.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/Sync/SyncManager.py	Sun Apr 03 16:22:18 2016 +0200
@@ -78,7 +78,8 @@
         
         if self.syncEnabled():
             from . import SyncGlobals
-            if Preferences.getWebBrowser("SyncType") == SyncGlobals.SyncTypeFtp:
+            if Preferences.getWebBrowser("SyncType") == \
+                    SyncGlobals.SyncTypeFtp:
                 from .FtpSyncHandler import FtpSyncHandler
                 self.__handler = FtpSyncHandler(self)
             elif Preferences.getWebBrowser("SyncType") == \
--- a/WebBrowser/UrlBar/UrlBar.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/UrlBar/UrlBar.py	Sun Apr 03 16:22:18 2016 +0200
@@ -150,7 +150,6 @@
         
         @param ok flag indicating a successful load (boolean)
         """
-##        try:
         if self.__browser.url().scheme() in ["eric", "about"]:
             self.__bookmarkButton.setVisible(False)
         else:
--- a/WebBrowser/VirusTotal/VirusTotalApi.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/VirusTotal/VirusTotalApi.py	Sun Apr 03 16:22:18 2016 +0200
@@ -16,7 +16,7 @@
 
 import json
 
-from PyQt5.QtCore import QObject, QUrl, QByteArray, pyqtSignal, qVersion
+from PyQt5.QtCore import pyqtSignal, QObject, QUrl, QUrlQuery, QByteArray
 from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply
 
 from E5Gui import E5MessageBox
@@ -159,8 +159,8 @@
         request.setHeader(QNetworkRequest.ContentTypeHeader,
                           "application/x-www-form-urlencoded")
         params = QByteArray("apikey={0}&url=".format(
-            Preferences.getWebBrowser("VirusTotalServiceKey")).encode("utf-8"))\
-            .append(QUrl.toPercentEncoding(url.toString()))
+            Preferences.getWebBrowser("VirusTotalServiceKey"))
+            .encode("utf-8")).append(QUrl.toPercentEncoding(url.toString()))
         
         import WebBrowser.WebBrowserWindow
         nam = WebBrowser.WebBrowserWindow.WebBrowserWindow\
@@ -272,13 +272,9 @@
             ("ip", ipAddress),
         ]
         url = QUrl(self.GetIpAddressReportUrl)
-        if qVersion() >= "5.0.0":
-            from PyQt5.QtCore import QUrlQuery
-            query = QUrlQuery()
-            query.setQueryItems(queryItems)
-            url.setQuery(query)
-        else:
-            url.setQueryItems(queryItems)
+        query = QUrlQuery()
+        query.setQueryItems(queryItems)
+        url.setQuery(query)
         request = QNetworkRequest(url)
         
         import WebBrowser.WebBrowserWindow
@@ -335,13 +331,9 @@
             ("domain", domain),
         ]
         url = QUrl(self.GetDomainReportUrl)
-        if qVersion() >= "5.0.0":
-            from PyQt5.QtCore import QUrlQuery
-            query = QUrlQuery()
-            query.setQueryItems(queryItems)
-            url.setQuery(query)
-        else:
-            url.setQueryItems(queryItems)
+        query = QUrlQuery()
+        query.setQueryItems(queryItems)
+        url.setQuery(query)
         request = QNetworkRequest(url)
         
         import WebBrowser.WebBrowserWindow
--- a/WebBrowser/WebBrowserPage.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/WebBrowserPage.py	Sun Apr 03 16:22:18 2016 +0200
@@ -14,46 +14,24 @@
 except NameError:
     pass
 
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QT_TRANSLATE_NOOP, \
-    QUrl, QBuffer, QIODevice, QFileInfo, Qt, QTimer, QEvent, \
-    QRect, QFile, QPoint, QByteArray, QEventLoop, qVersion
-from PyQt5.QtGui import QDesktopServices, QClipboard, QMouseEvent, QColor, \
-    QPalette
-from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication, QInputDialog, \
-    QLineEdit, QLabel, QToolTip, QFrame, QDialog
-from PyQt5.QtPrintSupport import QPrinter, QPrintDialog
+from PyQt5.QtCore import QUrl, QTimer, QEventLoop
+from PyQt5.QtGui import QDesktopServices
 from PyQt5.QtWebEngineWidgets import QWebEnginePage
 from PyQt5.QtWebChannel import QWebChannel
-from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest
-import sip
 
-from E5Gui import E5MessageBox, E5FileDialog
-
-import WebBrowser
 from WebBrowser.WebBrowserWindow import WebBrowserWindow
 
 from .JavaScript.ExternalJsObject import ExternalJsObject
 
 from .Tools.WebHitTestResult import WebHitTestResult
-from .Tools import Scripts
 
 import Preferences
-import UI.PixmapCache
-import Globals
-##
-##try:
-##    from PyQt5.QtNetwork import QSslCertificate
-##    SSL_AVAILABLE = True
-##except ImportError:
-##    SSL_AVAILABLE = False
 
 
 class WebBrowserPage(QWebEnginePage):
     """
     Class implementing an enhanced web page.
     """
-##    _webPluginFactory = None
-##    
     def __init__(self, parent=None):
         """
         Constructor
@@ -65,24 +43,6 @@
         
         self.__setupWebChannel()
         
-##        self.setPluginFactory(self.webPluginFactory())
-##        
-##        self.__lastRequest = None
-##        self.__lastRequestType = QWebPage.NavigationTypeOther
-##        
-##        from .Network.NetworkAccessManagerProxy import \
-##            NetworkAccessManagerProxy
-##        self.__proxy = NetworkAccessManagerProxy(self)
-##        self.__proxy.setWebPage(self)
-##        self.__proxy.setPrimaryNetworkAccessManager(
-##            WebBrowserWindow.networkManager())
-##        self.setNetworkAccessManager(self.__proxy)
-##        
-##        self.__sslConfiguration = None
-##        self.__proxy.finished.connect(self.__managerFinished)
-##        
-##        self.__adBlockedEntries = []
-##        self.loadStarted.connect(self.__loadStarted)
         self.featurePermissionRequested.connect(
             self.__featurePermissionRequested)
         
@@ -161,37 +121,6 @@
                 agent = WebBrowserWindow.webProfile().httpUserAgent()
         return agent
     
-##    @classmethod
-##    def webPluginFactory(cls):
-##        """
-##        Class method to get a reference to the web plug-in factory
-##        instance.
-##        
-##        @return reference to the web plug-in factory instance (WebPluginFactory
-##        """
-##        if cls._webPluginFactory is None:
-##            from .WebPlugins.WebPluginFactory import WebPluginFactory
-##            cls._webPluginFactory = WebPluginFactory()
-##        
-##        return cls._webPluginFactory
-##    
-##    def event(self, evt):
-##        """
-##        Public method implementing the event handler.
-##        
-##        @param evt reference to the event (QEvent)
-##        @return flag indicating that the event was handled (boolean)
-##        """
-##        if evt.type() == QEvent.Leave:
-##            # Fake a mouse move event just outside of the widget to trigger
-##            # the WebKit event handler's mouseMoved function. This implements
-##            # the interesting mouse-out behavior like invalidating scrollbars.
-##            fakeEvent = QMouseEvent(QEvent.MouseMove, QPoint(0, -1),
-##                                    Qt.NoButton, Qt.NoButton, Qt.NoModifier)
-##            return super(HelpWebPage, self).event(fakeEvent)
-##        
-##        return super(HelpWebPage, self).event(evt)
-    
     def __featurePermissionRequested(self, url, feature):
         """
         Private slot handling a feature permission request.
--- a/WebBrowser/WebBrowserTabWidget.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/WebBrowserTabWidget.py	Sun Apr 03 16:22:18 2016 +0200
@@ -15,7 +15,6 @@
 from PyQt5.QtGui import QIcon
 from PyQt5.QtWidgets import QWidget, QHBoxLayout, QMenu, QToolButton, QDialog
 from PyQt5.QtPrintSupport import QPrinter, QPrintDialog
-##from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest
 
 from E5Gui.E5TabWidget import E5TabWidget
 from E5Gui import E5MessageBox
@@ -252,9 +251,6 @@
         if idx < 0 or idx > self.count():
             return
         
-##        req = QNetworkRequest(self.widget(idx).url())
-##        req.setRawHeader(b"X-Eric6-UserLoadAction", b"1")
-##        self.newBrowser(None, (req, QNetworkAccessManager.GetOperation, b""))
         url = self.widget(idx).url()
         self.newBrowser(url)
     
@@ -467,16 +463,6 @@
         if browser is None:
             return
         
-##        if browser.isModified():
-##            ok = E5MessageBox.yesNo(
-##                self,
-##                self.tr("Do you really want to close this page?"),
-##                self.tr("""You have modified this page and when closing it"""
-##                        """ you would lose the modification.\nDo you really"""
-##                        """ want to close this page?"""))
-##            if not ok:
-##                return
-##        
         urlbar = self.__stackedUrlBar.widget(index)
         self.__stackedUrlBar.removeWidget(urlbar)
         urlbar.deleteLater()
@@ -831,16 +817,10 @@
         """
         edit = self.sender()
         url = self.__guessUrlFromPath(edit.text())
-##        request = QNetworkRequest(url)
-##        request.setRawHeader(b"X-Eric6-UserLoadAction", b"1")
         if e5App().keyboardModifiers() == Qt.AltModifier:
             self.newBrowser(url)
-##            self.newBrowser(
-##                None, (request, QNetworkAccessManager.GetOperation, b""))
         else:
             self.currentBrowser().setSource(url)
-##            self.currentBrowser().setSource(
-##                None, (request, QNetworkAccessManager.GetOperation, b""))
             self.currentBrowser().setFocus()
     
     def __pathSelected(self, path):
--- a/WebBrowser/WebBrowserView.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/WebBrowserView.py	Sun Apr 03 16:22:18 2016 +0200
@@ -14,26 +14,19 @@
 except NameError:
     pass
 
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject, QT_TRANSLATE_NOOP, \
-    QUrl, QBuffer, QIODevice, QFileInfo, Qt, QTimer, QEvent, \
-    QRect, QFile, QPoint, QByteArray, qVersion
-from PyQt5.QtGui import QDesktopServices, QClipboard, QMouseEvent, QColor, \
-    QPalette, QIcon, QContextMenuEvent, QPixmap
-from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication, QInputDialog, \
-    QLineEdit, QLabel, QToolTip, QFrame, QDialog
-from PyQt5.QtPrintSupport import QPrinter, QPrintDialog
-from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest, QHostInfo
+from PyQt5.QtCore import pyqtSignal, QUrl, QFileInfo, Qt, QTimer, QEvent, \
+    QPoint
+from PyQt5.QtGui import QDesktopServices, QClipboard, QIcon, \
+    QContextMenuEvent, QPixmap
+from PyQt5.QtWidgets import qApp, QStyle, QMenu, QApplication
 from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
 
-from E5Gui import E5MessageBox, E5FileDialog
+from E5Gui import E5MessageBox
 
-import WebBrowser
 from .WebBrowserPage import WebBrowserPage
 
 from .Tools.WebIconLoader import WebIconLoader
-from .Tools import WebBrowserTools, Scripts
-
-from .Network.LoadRequest import LoadRequest, LoadRequestOperations
+from .Tools import Scripts
 
 from . import WebInspector
 from .Tools.WebBrowserTools import readAllFileContents, pixmapToDataUrl
@@ -102,12 +95,8 @@
         self.__currentZoom = 100
         self.__zoomLevels = WebBrowserView.ZoomLevels[:]
         
-##        self.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
-##        self.linkClicked.connect(self.setSource)
-##        
         self.iconUrlChanged.connect(self.__iconUrlChanged)
         self.urlChanged.connect(self.__urlChanged)
-##        self.statusBarMessage.connect(self.__statusBarMessage)
         self.page().linkHovered.connect(self.__linkHovered)
         
         self.loadStarted.connect(self.__loadStarted)
@@ -115,11 +104,6 @@
         self.loadFinished.connect(self.__loadFinished)
         self.renderProcessTerminated.connect(self.__renderProcessTerminated)
         
-##        self.page().setForwardUnsupportedContent(True)
-##        self.page().unsupportedContent.connect(self.__unsupportedContent)
-        
-##        self.page().databaseQuotaExceeded.connect(self.__databaseQuotaExceeded)
-        
         self.__mw.openSearchManager().currentEngineChanged.connect(
             self.__currentEngineChanged)
         
@@ -157,59 +141,13 @@
         Public method to load a web site.
         
         @param url URL to be loaded
-        @type QUrl or LoadRequest
+        @type QUrl
         """
-##        if isinstance(urlOrRequest, QUrl):
         super(WebBrowserView, self).load(url)
         
         if not self.__firstLoad:
             self.__firstLoad = True
             WebInspector.pushView(self)
-##        elif isinstance(urlOrRequest, LoadRequest):
-##            reqUrl = urlOrRequest.url()
-##            if reqUrl.isEmpty():
-##                return
-##            
-##            if reqUrl.scheme() == "javascript":
-##                script = reqUrl.toString()[11:]
-##                # check if the javascript script is percent encode
-##                # i.e. it contains '%' characters
-##                if '%' in script:
-##                    script = QUrl.fromPercentEncoding(
-##                        QByteArray(script.encode("utf-8")))
-##                self.page().runJavaScript(script)
-##                return
-##            
-##            if self.__isUrlValid(reqUrl):
-##                self.loadRequest(urlOrRequest)
-##                return
-##            
-##            # ensure proper loading of hosts without a '.'
-##            if not reqUrl.isEmpty() and \
-##               reqUrl.scheme() and \
-##               not WebBrowserTools.containsSpace(reqUrl.path()) and \
-##               '.' not in reqUrl.path():
-##                u = QUrl("http://" + reqUrl.path())
-##                if u.isValid():
-##                    info = QHostInfo.fromName(u.path())
-##                    if info.error() == QHostInfo.NoError:
-##                        req = LoadRequest(urlOrRequest)
-##                        req.setUrl(u)
-##                        self.loadRequest(req)
-##                        return
-##    
-##    def loadRequest(self, req):
-##        """
-##        Public method to load a page via a load request object.
-##        
-##        @param req loaf request object
-##        @type LoadRequest
-##        """
-##        if req.Operation == LoadRequestOperations.GetOperation:
-##            self.load(req.url())
-##        else:
-##            self.page().runJavaScript(
-##                Scripts.sendPostData(req.url(), req.data()))
     
     def setSource(self, name, newTab=False):
         """
@@ -1425,14 +1363,6 @@
         from .Tools import WebIconProvider
         return WebIconProvider.instance().iconForUrl(self.url())
     
-##    def __statusBarMessage(self, text):
-##        """
-##        Private slot to handle the statusBarMessage signal.
-##        
-##        @param text text to be shown in the status bar (string)
-##        """
-##        self.__mw.statusBar().showMessage(text)
-##    
     def __linkHovered(self, link):
         """
         Private slot to handle the linkHovered signal.
@@ -1554,6 +1484,7 @@
         """
         return self.__preview
     
+    # TODO: Qt 5.7: Save
 ##    def saveAs(self):
 ##        """
 ##        Public method to save the current page to a file.
@@ -1564,151 +1495,6 @@
 ##        
 ##        self.__mw.downloadManager().download(url, True, mainWindow=self.__mw)
     
-##    def __unsupportedContent(self, reply, requestFilename=None,
-##                             download=False):
-##        """
-##        Private slot to handle the unsupportedContent signal.
-##        
-##        @param reply reference to the reply object (QNetworkReply)
-##        @keyparam requestFilename indicating to ask for a filename
-##            (boolean or None). If it is None, the behavior is determined
-##            by a configuration option.
-##        @keyparam download flag indicating a download operation (boolean)
-##        """
-##        if reply is None:
-##            return
-##        
-##        replyUrl = reply.url()
-##        
-##        if replyUrl.scheme() == "abp":
-##            return
-##        
-##        if reply.error() == QNetworkReply.NoError:
-##            if reply.header(QNetworkRequest.ContentTypeHeader):
-##                self.__mw.downloadManager().handleUnsupportedContent(
-##                    reply, webPage=self.page(), mainWindow=self.__mw)
-##                return
-##        
-##        replyUrl = reply.url()
-##        if replyUrl.isEmpty():
-##            return
-##        
-##        notFoundFrame = self.page().mainFrame()
-##        if notFoundFrame is None:
-##            return
-##        
-##        if reply.header(QNetworkRequest.ContentTypeHeader):
-##            data = reply.readAll()
-##            if contentSniff(data):
-##                notFoundFrame.setHtml(str(data, encoding="utf-8"), replyUrl)
-##                return
-##        
-##        urlString = bytes(replyUrl.toEncoded()).decode()
-##        title = self.tr("Error loading page: {0}").format(urlString)
-##        htmlFile = QFile(":/html/notFoundPage.html")
-##        htmlFile.open(QFile.ReadOnly)
-##        html = htmlFile.readAll()
-##        pixmap = qApp.style()\
-##            .standardIcon(QStyle.SP_MessageBoxWarning).pixmap(48, 48)
-##        imageBuffer = QBuffer()
-##        imageBuffer.open(QIODevice.ReadWrite)
-##        if pixmap.save(imageBuffer, "PNG"):
-##            html = html.replace("@IMAGE@", imageBuffer.buffer().toBase64())
-##        pixmap = qApp.style()\
-##            .standardIcon(QStyle.SP_MessageBoxWarning).pixmap(16, 16)
-##        imageBuffer = QBuffer()
-##        imageBuffer.open(QIODevice.ReadWrite)
-##        if pixmap.save(imageBuffer, "PNG"):
-##            html = html.replace("@FAVICON@", imageBuffer.buffer().toBase64())
-##        html = html.replace("@TITLE@", title.encode("utf8"))
-##        html = html.replace("@H1@", reply.errorString().encode("utf8"))
-##        html = html.replace(
-##            "@H2@", self.tr("When connecting to: {0}.")
-##            .format(urlString).encode("utf8"))
-##        html = html.replace(
-##            "@LI-1@",
-##            self.tr("Check the address for errors such as "
-##                    "<b>ww</b>.example.org instead of "
-##                    "<b>www</b>.example.org").encode("utf8"))
-##        html = html.replace(
-##            "@LI-2@",
-##            self.tr("If the address is correct, try checking the network "
-##                    "connection.").encode("utf8"))
-##        html = html.replace(
-##            "@LI-3@",
-##            self.tr(
-##                "If your computer or network is protected by a firewall "
-##                "or proxy, make sure that the browser is permitted to "
-##                "access the network.").encode("utf8"))
-##        html = html.replace(
-##            "@LI-4@",
-##            self.tr("If your cache policy is set to offline browsing,"
-##                    "only pages in the local cache are available.")
-##            .encode("utf8"))
-##        html = html.replace(
-##            "@BUTTON@", self.tr("Try Again").encode("utf8"))
-##        notFoundFrame.setHtml(bytes(html).decode("utf8"), replyUrl)
-##        self.__mw.historyManager().removeHistoryEntry(replyUrl, self.title())
-##        self.loadFinished.emit(False)
-##    
-    
-##    def __databaseQuotaExceeded(self, frame, databaseName):
-##        """
-##        Private slot to handle the case, where the database quota is exceeded.
-##        
-##        @param frame reference to the frame (QWebFrame)
-##        @param databaseName name of the web database (string)
-##        """
-##        securityOrigin = frame.securityOrigin()
-##        if securityOrigin.databaseQuota() > 0 and \
-##           securityOrigin.databaseUsage() == 0:
-##            # cope with a strange behavior of Qt 4.6, if a database is
-##            # accessed for the first time
-##            return
-##        
-##        res = E5MessageBox.yesNo(
-##            self,
-##            self.tr("Web Database Quota"),
-##            self.tr(
-##                """<p>The database quota of <strong>{0}</strong> has"""
-##                """ been exceeded while accessing database <strong>{1}"""
-##                """</strong>.</p><p>Shall it be changed?</p>""")
-##            .format(self.__dataString(securityOrigin.databaseQuota()),
-##                    databaseName),
-##            yesDefault=True)
-##        if res:
-##            newQuota, ok = QInputDialog.getInt(
-##                self,
-##                self.tr("New Web Database Quota"),
-##                self.tr(
-##                    "Enter the new quota in MB (current = {0}, used = {1}; "
-##                    "step size = 5 MB):"
-##                    .format(
-##                        self.__dataString(securityOrigin.databaseQuota()),
-##                        self.__dataString(securityOrigin.databaseUsage()))),
-##                securityOrigin.databaseQuota() // (1024 * 1024),
-##                0, 2147483647, 5)
-##            if ok:
-##                securityOrigin.setDatabaseQuota(newQuota * 1024 * 1024)
-##    
-##    def __dataString(self, size):
-##        """
-##        Private method to generate a formatted data string.
-##        
-##        @param size size to be formatted (integer)
-##        @return formatted data string (string)
-##        """
-##        unit = ""
-##        if size < 1024:
-##            unit = self.tr("bytes")
-##        elif size < 1024 * 1024:
-##            size /= 1024
-##            unit = self.tr("kB")
-##        else:
-##            size /= 1024 * 1024
-##            unit = self.tr("MB")
-##        return "{0:.1f} {1}".format(size, unit)
-    
     ###########################################################################
     ## Miscellaneous methods below
     ###########################################################################
@@ -1814,31 +1600,3 @@
         Private slot to reload all speed dials.
         """
         self.page().runJavaScript("reloadAll();")
-
-##def contentSniff(data):
-##    """
-##    Module function to do some content sniffing to check, if the data is HTML.
-##    
-##    @param data data block to sniff at (string)
-##    @return flag indicating HTML content (boolean)
-##    """
-##    if data.contains("<!doctype") or \
-##       data.contains("<script") or \
-##       data.contains("<html") or \
-##       data.contains("<!--") or \
-##       data.contains("<head") or \
-##       data.contains("<iframe") or \
-##       data.contains("<h1") or \
-##       data.contains("<div") or \
-##       data.contains("<font") or \
-##       data.contains("<table") or \
-##       data.contains("<a") or \
-##       data.contains("<style") or \
-##       data.contains("<title") or \
-##       data.contains("<b") or \
-##       data.contains("<body") or \
-##       data.contains("<br") or \
-##       data.contains("<p"):
-##        return True
-##    
-##    return False
--- a/WebBrowser/WebBrowserWindow.py	Sat Apr 02 19:44:09 2016 +0200
+++ b/WebBrowser/WebBrowserWindow.py	Sun Apr 03 16:22:18 2016 +0200
@@ -18,14 +18,12 @@
 import sys
 
 from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, \
-    QUrl, QThread, QTextCodec, QProcess, QEvent
-from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics, \
-    QIcon
+    QUrl, QTextCodec, QProcess, QEvent
+from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics
 from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy, QDockWidget, \
     QComboBox, QLabel, QSplitter, QMenu, QToolButton, QLineEdit, \
     QApplication, QWhatsThis, QDialog, QHBoxLayout, QProgressBar, QAction, \
     QInputDialog
-##from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest
 from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEnginePage, \
     QWebEngineProfile, QWebEngineScript
 try:
@@ -77,8 +75,6 @@
     
     BrowserWindows = []
 
-##    maxMenuFilePathLen = 75
-##    
     _fromEric = False
     UseQtHelp = QTHELP_AVAILABLE
     _isPrivate = False
@@ -1684,6 +1680,7 @@
         menu.addAction(self.openAct)
         menu.addAction(self.openTabAct)
         menu.addSeparator()
+        # TODO: Qt 5.7: Save
 ##        menu.addAction(self.saveAsAct)
         menu.addAction(self.savePageScreenAct)
         menu.addAction(self.saveVisiblePageScreenAct)
@@ -1844,6 +1841,7 @@
         filetb.addAction(self.openAct)
         filetb.addAction(self.openTabAct)
         filetb.addSeparator()
+        # TODO: Qt 5.7: Save
 ##        filetb.addAction(self.saveAsAct)
         filetb.addAction(self.savePageScreenAct)
         filetb.addSeparator()
@@ -2159,6 +2157,7 @@
                 url = "file://" + fn
             self.newTab(url)
         
+        # TODO: Qt 5.7: Save
 ##    def __savePageAs(self):
 ##        """
 ##        Private slot to save the current page.
@@ -2485,8 +2484,7 @@
         """
         Private slot called to handle the reload action.
         """
-##        self.currentBrowser().reloadBypassingCache()
-        self.currentBrowser().reload()
+        self.currentBrowser().reloadBypassingCache()
     
     def __stopLoading(self):
         """
@@ -2863,13 +2861,6 @@
         if WebBrowserWindow.useQtHelp:
             self.__activateDock(self.__tocWindow)
         
-##    def __hideTocWindow(self):
-##        """
-##        Private method to hide the table of contents window.
-##        """
-##        if WebBrowserWindow.UseQtHelp:
-##            self.__tocDock.hide()
-##        
     def __showIndexWindow(self):
         """
         Private method to show the index window.
@@ -2877,13 +2868,6 @@
         if WebBrowserWindow.useQtHelp:
             self.__activateDock(self.__indexWindow)
         
-##    def __hideIndexWindow(self):
-##        """
-##        Private method to hide the index window.
-##        """
-##        if WebBrowserWindow.UseQtHelp:
-##            self.__indexDock.hide()
-##        
     def __showSearchWindow(self):
         """
         Private method to show the search window.
@@ -2891,13 +2875,6 @@
         if WebBrowserWindow.useQtHelp:
             self.__activateDock(self.__searchWindow)
         
-##    def __hideSearchWindow(self):
-##        """
-##        Private method to hide the search window.
-##        """
-##        if WebBrowserWindow.UseQtHelp:
-##            self.__searchDock.hide()
-##        
     def __activateDock(self, widget):
         """
         Private method to activate the dock widget of the given widget.
--- a/eric6.e4p	Sat Apr 02 19:44:09 2016 +0200
+++ b/eric6.e4p	Sun Apr 03 16:22:18 2016 +0200
@@ -1355,7 +1355,6 @@
     <Source>WebBrowser/JavaScript/StartPageJsObject.py</Source>
     <Source>WebBrowser/JavaScript/__init__.py</Source>
     <Source>WebBrowser/Network/EricSchemeHandler.py</Source>
-    <Source>WebBrowser/Network/LoadRequest.py</Source>
     <Source>WebBrowser/Network/NetworkManager.py</Source>
     <Source>WebBrowser/Network/NetworkUrlInterceptor.py</Source>
     <Source>WebBrowser/Network/QtHelpSchemeHandler.py</Source>

eric ide

mercurial