Make stuff run again
This commit is contained in:
parent
d3eaeaac91
commit
1ca80fec8e
@ -397,17 +397,17 @@ class QuteBrowser(QApplication):
|
|||||||
self.config.changed.connect(obj.on_config_changed)
|
self.config.changed.connect(obj.on_config_changed)
|
||||||
|
|
||||||
# statusbar
|
# statusbar
|
||||||
tabs.currentChanged.connect(status.prog.current_changed)
|
tabs.currentChanged.connect(status.prog.on_tab_changed)
|
||||||
tabs.cur_progress.connect(status.prog.setValue)
|
tabs.cur_progress.connect(status.prog.setValue)
|
||||||
tabs.cur_load_finished.connect(status.prog.hide)
|
tabs.cur_load_finished.connect(status.prog.hide)
|
||||||
tabs.cur_load_started.connect(status.prog.on_load_started)
|
tabs.cur_load_started.connect(status.prog.on_load_started)
|
||||||
|
|
||||||
tabs.currentChanged.connect(status.percentage.current_changed)
|
tabs.currentChanged.connect(status.percentage.on_tab_changed)
|
||||||
tabs.cur_scroll_perc_changed.connect(status.percentage.set_perc)
|
tabs.cur_scroll_perc_changed.connect(status.percentage.set_perc)
|
||||||
|
|
||||||
tabs.cur_statusbar_message.connect(status.txt.on_statusbar_message)
|
tabs.cur_statusbar_message.connect(status.txt.on_statusbar_message)
|
||||||
|
|
||||||
tabs.currentChanged.connect(status.url.current_changed)
|
tabs.currentChanged.connect(status.url.on_tab_changed)
|
||||||
tabs.cur_url_changed.connect(status.url.set_url)
|
tabs.cur_url_changed.connect(status.url.set_url)
|
||||||
tabs.cur_link_hovered.connect(status.url.set_hover_url)
|
tabs.cur_link_hovered.connect(status.url.set_hover_url)
|
||||||
|
|
||||||
|
@ -45,3 +45,9 @@ class Percentage(TextBase):
|
|||||||
self.setText('[bot]')
|
self.setText('[bot]')
|
||||||
else:
|
else:
|
||||||
self.setText('[{:2}%]'.format(y))
|
self.setText('[{:2}%]'.format(y))
|
||||||
|
|
||||||
|
@pyqtSlot(int)
|
||||||
|
def on_tab_changed(self, idx):
|
||||||
|
"""Update scroll position when tab changed."""
|
||||||
|
tab = self.sender().widget(idx)
|
||||||
|
self.set_perc(*tab.scroll_pos)
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
from PyQt5.QtCore import pyqtSlot
|
from PyQt5.QtCore import pyqtSlot
|
||||||
from PyQt5.QtWidgets import QProgressBar, QSizePolicy
|
from PyQt5.QtWidgets import QProgressBar, QSizePolicy
|
||||||
|
|
||||||
|
from qutebrowser.widgets.webview import LoadStatus
|
||||||
from qutebrowser.config.style import set_register_stylesheet
|
from qutebrowser.config.style import set_register_stylesheet
|
||||||
|
|
||||||
|
|
||||||
@ -57,3 +58,12 @@ class Progress(QProgressBar):
|
|||||||
"""Clear old error and show progress, used as slot to loadStarted."""
|
"""Clear old error and show progress, used as slot to loadStarted."""
|
||||||
self.setValue(0)
|
self.setValue(0)
|
||||||
self.show()
|
self.show()
|
||||||
|
|
||||||
|
@pyqtSlot(int)
|
||||||
|
def on_tab_changed(self, idx):
|
||||||
|
tab = self.sender().widget(idx)
|
||||||
|
self.setValue(tab.progress)
|
||||||
|
if tab.load_status == LoadStatus.loading:
|
||||||
|
self.show()
|
||||||
|
else:
|
||||||
|
self.hide()
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
from PyQt5.QtCore import pyqtSlot, pyqtProperty, Qt
|
from PyQt5.QtCore import pyqtSlot, pyqtProperty, Qt
|
||||||
|
|
||||||
|
from qutebrowser.widgets.webview import LoadStatus
|
||||||
from qutebrowser.widgets.statusbar._textbase import TextBase
|
from qutebrowser.widgets.statusbar._textbase import TextBase
|
||||||
from qutebrowser.config.style import set_register_stylesheet, get_stylesheet
|
from qutebrowser.config.style import set_register_stylesheet, get_stylesheet
|
||||||
from qutebrowser.utils.url import urlstring
|
from qutebrowser.utils.url import urlstring
|
||||||
@ -140,3 +141,14 @@ class Url(TextBase):
|
|||||||
self.urltype = self._old_urltype
|
self.urltype = self._old_urltype
|
||||||
self._old_url = None
|
self._old_url = None
|
||||||
self._old_urltype = None
|
self._old_urltype = None
|
||||||
|
|
||||||
|
@pyqtSlot(int)
|
||||||
|
def on_tab_changed(self, idx):
|
||||||
|
"""Update URL if the tab changed."""
|
||||||
|
tab = self.sender().widget(idx)
|
||||||
|
self.setText(urlstring(tab.url()))
|
||||||
|
status = LoadStatus[tab.load_status]
|
||||||
|
if status in ['success', 'error', 'warn']:
|
||||||
|
self.urltype = status
|
||||||
|
else:
|
||||||
|
self.urltype = 'normal'
|
||||||
|
@ -59,7 +59,7 @@ class WebView(QWebView):
|
|||||||
Accessed via load_status property.
|
Accessed via load_status property.
|
||||||
_has_ssl_errors: Whether SSL errors occured during loading.
|
_has_ssl_errors: Whether SSL errors occured during loading.
|
||||||
_zoom: A NeighborList with the zoom levels.
|
_zoom: A NeighborList with the zoom levels.
|
||||||
_scroll_pos: The old scroll position.
|
_old_scroll_pos: The old scroll position.
|
||||||
_shutdown_callback: Callback to be called after shutdown.
|
_shutdown_callback: Callback to be called after shutdown.
|
||||||
_open_target: Where to open the next tab ("normal", "tab", "bgtab")
|
_open_target: Where to open the next tab ("normal", "tab", "bgtab")
|
||||||
_force_open_target: Override for _open_target.
|
_force_open_target: Override for _open_target.
|
||||||
@ -82,7 +82,8 @@ class WebView(QWebView):
|
|||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self._load_status = LoadStatus.none
|
self._load_status = LoadStatus.none
|
||||||
self.tabbedbrowser = parent
|
self.tabbedbrowser = parent
|
||||||
self._scroll_pos = (-1, -1)
|
self.scroll_pos = (-1, -1)
|
||||||
|
self._old_scroll_pos = (-1, -1)
|
||||||
self._shutdown_callback = None
|
self._shutdown_callback = None
|
||||||
self._open_target = Target.normal
|
self._open_target = Target.normal
|
||||||
self._force_open_target = None
|
self._force_open_target = None
|
||||||
@ -90,9 +91,6 @@ class WebView(QWebView):
|
|||||||
self._zoom = None
|
self._zoom = None
|
||||||
self._init_neighborlist()
|
self._init_neighborlist()
|
||||||
self.progress = 0
|
self.progress = 0
|
||||||
self.loadProgress.connect(lambda p: setattr(self, 'progress', p))
|
|
||||||
self.page_.networkAccessManager().sslErrors.connect(
|
|
||||||
lambda *args: setattr(self, '_has_ssl_errors', True))
|
|
||||||
self.page_ = BrowserPage(self)
|
self.page_ = BrowserPage(self)
|
||||||
self.setPage(self.page_)
|
self.setPage(self.page_)
|
||||||
self.hintmanager = HintManager(self)
|
self.hintmanager = HintManager(self)
|
||||||
@ -103,6 +101,9 @@ class WebView(QWebView):
|
|||||||
self.linkClicked.connect(self.on_link_clicked)
|
self.linkClicked.connect(self.on_link_clicked)
|
||||||
self.page_.mainFrame().loadStarted.connect(self.on_load_started)
|
self.page_.mainFrame().loadStarted.connect(self.on_load_started)
|
||||||
self.loadFinished.connect(self.on_load_finished)
|
self.loadFinished.connect(self.on_load_finished)
|
||||||
|
self.loadProgress.connect(lambda p: setattr(self, 'progress', p))
|
||||||
|
self.page_.networkAccessManager().sslErrors.connect(
|
||||||
|
lambda *args: setattr(self, '_has_ssl_errors', True))
|
||||||
# FIXME find some way to hide scrollbars without setScrollBarPolicy
|
# FIXME find some way to hide scrollbars without setScrollBarPolicy
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -374,11 +375,11 @@ class WebView(QWebView):
|
|||||||
def on_load_finished(self, ok):
|
def on_load_finished(self, ok):
|
||||||
"""Handle auto-insert-mode after loading finished."""
|
"""Handle auto-insert-mode after loading finished."""
|
||||||
if ok and not self._has_ssl_errors:
|
if ok and not self._has_ssl_errors:
|
||||||
self.urltype = 'success'
|
self.load_status = LoadStatus.success
|
||||||
elif ok:
|
elif ok:
|
||||||
self.urltype = 'warn'
|
self.load_status = LoadStatus.warn
|
||||||
else:
|
else:
|
||||||
self.urltype = 'error'
|
self.load_status = LoadStatus.error
|
||||||
if not config.get('input', 'auto-insert-mode'):
|
if not config.get('input', 'auto-insert-mode'):
|
||||||
return
|
return
|
||||||
if modeman.instance().mode == 'insert' or not ok:
|
if modeman.instance().mode == 'insert' or not ok:
|
||||||
@ -449,8 +450,8 @@ class WebView(QWebView):
|
|||||||
frame = self.page_.mainFrame()
|
frame = self.page_.mainFrame()
|
||||||
new_pos = (frame.scrollBarValue(Qt.Horizontal),
|
new_pos = (frame.scrollBarValue(Qt.Horizontal),
|
||||||
frame.scrollBarValue(Qt.Vertical))
|
frame.scrollBarValue(Qt.Vertical))
|
||||||
if self._scroll_pos != new_pos:
|
if self._old_scroll_pos != new_pos:
|
||||||
self._scroll_pos = new_pos
|
self._old_scroll_pos = new_pos
|
||||||
logging.debug("Updating scroll position")
|
logging.debug("Updating scroll position")
|
||||||
m = (frame.scrollBarMaximum(Qt.Horizontal),
|
m = (frame.scrollBarMaximum(Qt.Horizontal),
|
||||||
frame.scrollBarMaximum(Qt.Vertical))
|
frame.scrollBarMaximum(Qt.Vertical))
|
||||||
|
Loading…
Reference in New Issue
Block a user