diff -r ea8f13f76d26 -r 09f38f85a3af WebBrowser/WebBrowserView.py --- a/WebBrowser/WebBrowserView.py Mon Mar 28 16:34:22 2016 +0200 +++ b/WebBrowser/WebBrowserView.py Mon Mar 28 17:04:18 2016 +0200 @@ -40,13 +40,6 @@ import Preferences import UI.PixmapCache -##import Globals - -##try: -## from PyQt5.QtNetwork import QSslCertificate -## SSL_AVAILABLE = True -##except ImportError: -## SSL_AVAILABLE = False class WebBrowserView(QWebEngineView): @@ -133,15 +126,6 @@ self.setAcceptDrops(True) - # TODO: Access Keys -## self.__enableAccessKeys = Preferences.getWebBrowser("AccessKeysEnabled") -## self.__accessKeysPressed = False -## self.__accessKeyLabels = [] -## self.__accessKeyNodes = {} -## -## self.page().loadStarted.connect(self.__hideAccessKeys) -## self.page().scrollRequested.connect(self.__hideAccessKeys) - self.__rss = [] self.__clickedFrame = None @@ -1296,20 +1280,6 @@ evt.accept() return - # TODO: Access Keys -## if self.__enableAccessKeys: -## self.__accessKeysPressed = ( -## evt.modifiers() == Qt.ControlModifier and -## evt.key() == Qt.Key_Control) -## if not self.__accessKeysPressed: -## if self.__checkForAccessKey(evt): -## self.__hideAccessKeys() -## evt.accept() -## return -## self.__hideAccessKeys() -## else: -## QTimer.singleShot(300, self.__accessKeyShortcut) - self.__ctrlPressed = (evt.key() == Qt.Key_Control) super(WebBrowserView, self).keyPressEvent(evt) @@ -1319,10 +1289,6 @@ @param evt reference to the key event (QKeyEvent) """ - # TODO: Access Keys -## if self.__enableAccessKeys: -## self.__accessKeysPressed = evt.key() == Qt.Key_Control - self.__ctrlPressed = False super(WebBrowserView, self).keyReleaseEvent(evt) @@ -1332,11 +1298,6 @@ @param evt reference to the focus event (QFocusEvent) """ - # TODO: Access Keys -## if self.__accessKeysPressed: -## self.__hideAccessKeys() -## self.__accessKeysPressed = False - super(WebBrowserView, self).focusOutEvent(evt) # TODO: Gestures: Obsoleted by eventFilter() (?) @@ -1565,12 +1526,6 @@ QTimer.singleShot(200, self.__renderPreview) - # TODO: ClickToFlash (?) -## if Preferences.getWebBrowser("ClickToFlashEnabled"): -## # this is a hack to make the ClickToFlash button appear -## self.zoomIn() -## self.zoomOut() - from .ZoomManager import ZoomManager zoomValue = ZoomManager.instance().zoomValue(self.url()) self.setZoomValue(zoomValue) @@ -1771,170 +1726,6 @@ ## return "{0:.1f} {1}".format(size, unit) ########################################################################### - ## Access key related methods below - ########################################################################### - - # TODO: Access Keys -## def __accessKeyShortcut(self): -## """ -## Private slot to switch the display of access keys. -## """ -## if not self.hasFocus() or \ -## not self.__accessKeysPressed or \ -## not self.__enableAccessKeys: -## return -## -## if self.__accessKeyLabels: -## self.__hideAccessKeys() -## else: -## self.__showAccessKeys() -## -## self.__accessKeysPressed = False -## -## def __checkForAccessKey(self, evt): -## """ -## Private method to check the existence of an access key and activate the -## corresponding link. -## -## @param evt reference to the key event (QKeyEvent) -## @return flag indicating, if the event was handled (boolean) -## """ -## if not self.__accessKeyLabels: -## return False -## -## text = evt.text() -## if not text: -## return False -## -## key = text[0].upper() -## handled = False -## if key in self.__accessKeyNodes: -## element = self.__accessKeyNodes[key] -## p = element.geometry().center() -## frame = element.webFrame() -## p -= frame.scrollPosition() -## frame = frame.parentFrame() -## while frame and frame != self.page().mainFrame(): -## p -= frame.scrollPosition() -## frame = frame.parentFrame() -## pevent = QMouseEvent( -## QEvent.MouseButtonPress, p, Qt.LeftButton, -## Qt.MouseButtons(Qt.NoButton), -## Qt.KeyboardModifiers(Qt.NoModifier)) -## qApp.sendEvent(self, pevent) -## revent = QMouseEvent( -## QEvent.MouseButtonRelease, p, Qt.LeftButton, -## Qt.MouseButtons(Qt.NoButton), -## Qt.KeyboardModifiers(Qt.NoModifier)) -## qApp.sendEvent(self, revent) -## handled = True -## -## return handled -## -## def __hideAccessKeys(self): -## """ -## Private slot to hide the access key labels. -## """ -## if self.__accessKeyLabels: -## for label in self.__accessKeyLabels: -## label.hide() -## label.deleteLater() -## self.__accessKeyLabels = [] -## self.__accessKeyNodes = {} -## self.update() -## -## def __showAccessKeys(self): -## """ -## Private method to show the access key labels. -## """ -## supportedElements = [ -## "input", "a", "area", "button", "label", "legend", "textarea", -## ] -## unusedKeys = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z" \ -## " 0 1 2 3 4 5 6 7 8 9".split() -## -## viewport = QRect(self.__page.mainFrame().scrollPosition(), -## self.__page.viewportSize()) -## # Priority first goes to elements with accesskey attributes -## alreadyLabeled = [] -## for elementType in supportedElements: -## result = self.page().mainFrame().findAllElements(elementType)\ -## .toList() -## for element in result: -## geometry = element.geometry() -## if geometry.size().isEmpty() or \ -## not viewport.contains(geometry.topLeft()): -## continue -## -## accessKeyAttribute = element.attribute("accesskey").upper() -## if not accessKeyAttribute: -## continue -## -## accessKey = "" -## i = 0 -## while i < len(accessKeyAttribute): -## if accessKeyAttribute[i] in unusedKeys: -## accessKey = accessKeyAttribute[i] -## break -## i += 2 -## if accessKey == "": -## continue -## unusedKeys.remove(accessKey) -## self.__makeAccessLabel(accessKey, element) -## alreadyLabeled.append(element) -## -## # Pick an access key first from the letters in the text and then -## # from the list of unused access keys -## for elementType in supportedElements: -## result = self.page().mainFrame().findAllElements(elementType)\ -## .toList() -## for element in result: -## geometry = element.geometry() -## if not unusedKeys or \ -## element in alreadyLabeled or \ -## geometry.size().isEmpty() or \ -## not viewport.contains(geometry.topLeft()): -## continue -## -## accessKey = "" -## text = element.toPlainText().upper() -## for c in text: -## if c in unusedKeys: -## accessKey = c -## break -## if accessKey == "": -## accessKey = unusedKeys[0] -## unusedKeys.remove(accessKey) -## self.__makeAccessLabel(accessKey, element) -## -## def __makeAccessLabel(self, accessKey, element): -## """ -## Private method to generate the access label for an element. -## -## @param accessKey access key to generate the label for (str) -## @param element reference to the web element to create the label for -## (QWebElement) -## """ -## label = QLabel(self) -## label.setText("<qt><b>{0}</b></qt>".format(accessKey)) -## -## p = QToolTip.palette() -## color = QColor(Qt.yellow).lighter(150) -## color.setAlpha(175) -## p.setColor(QPalette.Window, color) -## label.setPalette(p) -## label.setAutoFillBackground(True) -## label.setFrameStyle(QFrame.Box | QFrame.Plain) -## point = element.geometry().center() -## point -= self.__page.mainFrame().scrollPosition() -## label.move(point) -## label.show() -## point.setX(point.x() - label.width() // 2) -## label.move(point) -## self.__accessKeyLabels.append(label) -## self.__accessKeyNodes[accessKey] = element - - ########################################################################### ## Miscellaneous methods below ########################################################################### @@ -1953,11 +1744,6 @@ """ Public method to indicate a change of the settings. """ - # TODO: Access Keys -## self.__enableAccessKeys = Preferences.getWebBrowser("AccessKeysEnabled") -## if not self.__enableAccessKeys: -## self.__hideAccessKeys() - self.reload() ###########################################################################