Move URL/title handling to AbstractTab
This commit is contained in:
parent
a470bfc3f3
commit
5d6eedcd49
@ -497,6 +497,12 @@ class AbstractTab(QWidget):
|
|||||||
self._load_status = val
|
self._load_status = val
|
||||||
self.load_status_changed.emit(val.name)
|
self.load_status_changed.emit(val.name)
|
||||||
|
|
||||||
|
@pyqtSlot(QUrl)
|
||||||
|
def _on_url_changed(self, url):
|
||||||
|
"""Update title when URL has changed and no title is available."""
|
||||||
|
if url.isValid() and not self.title():
|
||||||
|
self.title_changed.emit(url().toDisplayString())
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def _on_load_started(self):
|
def _on_load_started(self):
|
||||||
self._progress = 0
|
self._progress = 0
|
||||||
@ -518,6 +524,8 @@ class AbstractTab(QWidget):
|
|||||||
else:
|
else:
|
||||||
self._set_load_status(usertypes.LoadStatus.error)
|
self._set_load_status(usertypes.LoadStatus.error)
|
||||||
self.load_finished.emit(ok)
|
self.load_finished.emit(ok)
|
||||||
|
if not self.title():
|
||||||
|
self.title_changed.emit(self.url().toDisplayString())
|
||||||
|
|
||||||
@pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def _on_load_progress(self, perc):
|
def _on_load_progress(self, perc):
|
||||||
|
@ -261,6 +261,7 @@ class WebEngineTab(browsertab.AbstractTab):
|
|||||||
self.backend = usertypes.Backend.QtWebEngine
|
self.backend = usertypes.Backend.QtWebEngine
|
||||||
|
|
||||||
def openurl(self, url):
|
def openurl(self, url):
|
||||||
|
self.title_changed.emit(url.toDisplayString())
|
||||||
self._widget.load(url)
|
self._widget.load(url)
|
||||||
|
|
||||||
def url(self):
|
def url(self):
|
||||||
|
@ -467,6 +467,7 @@ class WebKitTab(browsertab.AbstractTab):
|
|||||||
self.backend = usertypes.Backend.QtWebKit
|
self.backend = usertypes.Backend.QtWebKit
|
||||||
|
|
||||||
def openurl(self, url):
|
def openurl(self, url):
|
||||||
|
self.title_changed.emit(url.toDisplayString())
|
||||||
self._widget.openurl(url)
|
self._widget.openurl(url)
|
||||||
|
|
||||||
def url(self):
|
def url(self):
|
||||||
|
@ -96,7 +96,6 @@ class WebView(QWebView):
|
|||||||
mode_manager.left.connect(self.on_mode_left)
|
mode_manager.left.connect(self.on_mode_left)
|
||||||
if config.get('input', 'rocker-gestures'):
|
if config.get('input', 'rocker-gestures'):
|
||||||
self.setContextMenuPolicy(Qt.PreventContextMenu)
|
self.setContextMenuPolicy(Qt.PreventContextMenu)
|
||||||
self.urlChanged.connect(self.on_url_changed)
|
|
||||||
objreg.get('config').changed.connect(self.on_config_changed)
|
objreg.get('config').changed.connect(self.on_config_changed)
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
@ -287,9 +286,6 @@ class WebView(QWebView):
|
|||||||
url: The URL to load as QUrl
|
url: The URL to load as QUrl
|
||||||
"""
|
"""
|
||||||
qtutils.ensure_valid(url)
|
qtutils.ensure_valid(url)
|
||||||
urlstr = url.toDisplayString()
|
|
||||||
log.webview.debug("New title: {}".format(urlstr))
|
|
||||||
self.titleChanged.emit(urlstr)
|
|
||||||
self.load(url)
|
self.load(url)
|
||||||
if url.scheme() == 'qute':
|
if url.scheme() == 'qute':
|
||||||
frame = self.page().mainFrame()
|
frame = self.page().mainFrame()
|
||||||
@ -308,16 +304,6 @@ class WebView(QWebView):
|
|||||||
bridge = objreg.get('js-bridge')
|
bridge = objreg.get('js-bridge')
|
||||||
frame.addToJavaScriptWindowObject('qute', bridge)
|
frame.addToJavaScriptWindowObject('qute', bridge)
|
||||||
|
|
||||||
@pyqtSlot('QUrl')
|
|
||||||
def on_url_changed(self, url):
|
|
||||||
"""Update title when URL has changed.
|
|
||||||
|
|
||||||
If the URL is invalid, we just ignore it here.
|
|
||||||
"""
|
|
||||||
if url.isValid():
|
|
||||||
if not self.title():
|
|
||||||
self.titleChanged.emit(self.url().toDisplayString())
|
|
||||||
|
|
||||||
@pyqtSlot('QMouseEvent')
|
@pyqtSlot('QMouseEvent')
|
||||||
def on_mouse_event(self, evt):
|
def on_mouse_event(self, evt):
|
||||||
"""Post a new mouse event from a hintmanager."""
|
"""Post a new mouse event from a hintmanager."""
|
||||||
@ -334,8 +320,6 @@ class WebView(QWebView):
|
|||||||
See https://github.com/The-Compiler/qutebrowser/issues/84
|
See https://github.com/The-Compiler/qutebrowser/issues/84
|
||||||
"""
|
"""
|
||||||
ok = not self.page().error_occurred
|
ok = not self.page().error_occurred
|
||||||
if not self.title():
|
|
||||||
self.titleChanged.emit(self.url().toDisplayString())
|
|
||||||
self._handle_auto_insert_mode(ok)
|
self._handle_auto_insert_mode(ok)
|
||||||
|
|
||||||
def _handle_auto_insert_mode(self, ok):
|
def _handle_auto_insert_mode(self, ok):
|
||||||
|
Loading…
Reference in New Issue
Block a user