Use enum values for load_status_changed

This commit is contained in:
Florian Bruhin 2018-11-29 19:44:48 +01:00
parent a6d3a935d3
commit 0104490978
4 changed files with 10 additions and 11 deletions

View File

@ -837,7 +837,7 @@ class AbstractTab(QWidget):
load_finished = pyqtSignal(bool) load_finished = pyqtSignal(bool)
icon_changed = pyqtSignal(QIcon) icon_changed = pyqtSignal(QIcon)
title_changed = pyqtSignal(str) title_changed = pyqtSignal(str)
load_status_changed = pyqtSignal(str) load_status_changed = pyqtSignal(usertypes.LoadStatus)
new_tab_requested = pyqtSignal(QUrl) new_tab_requested = pyqtSignal(QUrl)
url_changed = pyqtSignal(QUrl) url_changed = pyqtSignal(QUrl)
shutting_down = pyqtSignal() shutting_down = pyqtSignal()
@ -906,7 +906,7 @@ class AbstractTab(QWidget):
raise TypeError("Type {} is no LoadStatus member!".format(val)) raise TypeError("Type {} is no LoadStatus member!".format(val))
log.webview.debug("load status for {}: {}".format(repr(self), val)) log.webview.debug("load status for {}: {}".format(repr(self), val))
self._load_status = val self._load_status = val
self.load_status_changed.emit(val.name) self.load_status_changed.emit(val)
def send_event(self, evt: QEvent) -> None: def send_event(self, evt: QEvent) -> None:
"""Send the given event to the underlying widget. """Send the given event to the underlying widget.

View File

@ -112,19 +112,18 @@ class UrlText(textbase.TextBase):
self._urltype = UrlType.normal self._urltype = UrlType.normal
config.set_register_stylesheet(self, update=False) config.set_register_stylesheet(self, update=False)
@pyqtSlot(str) @pyqtSlot(usertypes.LoadStatus)
def on_load_status_changed(self, status_str): def on_load_status_changed(self, status):
"""Slot for load_status_changed. Sets URL color accordingly. """Slot for load_status_changed. Sets URL color accordingly.
Args: Args:
status_str: The LoadStatus as string. status: The usertypes.LoadStatus.
""" """
status = usertypes.LoadStatus[status_str]
if status in [usertypes.LoadStatus.success, if status in [usertypes.LoadStatus.success,
usertypes.LoadStatus.success_https, usertypes.LoadStatus.success_https,
usertypes.LoadStatus.error, usertypes.LoadStatus.error,
usertypes.LoadStatus.warn]: usertypes.LoadStatus.warn]:
self._normal_url_type = UrlType[status_str] self._normal_url_type = UrlType[status.name]
else: else:
self._normal_url_type = UrlType.normal self._normal_url_type = UrlType.normal
self._update_url() self._update_url()
@ -172,5 +171,5 @@ class UrlText(textbase.TextBase):
self._normal_url = urlutils.safe_display_string(tab.url()) self._normal_url = urlutils.safe_display_string(tab.url())
else: else:
self._normal_url = '' self._normal_url = ''
self.on_load_status_changed(tab.load_status().name) self.on_load_status_changed(tab.load_status())
self._update_url() self._update_url()

View File

@ -102,7 +102,7 @@ class TabbedBrowser(QWidget):
cur_url_changed = pyqtSignal(QUrl) cur_url_changed = pyqtSignal(QUrl)
cur_link_hovered = pyqtSignal(str) cur_link_hovered = pyqtSignal(str)
cur_scroll_perc_changed = pyqtSignal(int, int) cur_scroll_perc_changed = pyqtSignal(int, int)
cur_load_status_changed = pyqtSignal(str) cur_load_status_changed = pyqtSignal(usertypes.LoadStatus)
cur_fullscreen_requested = pyqtSignal(bool) cur_fullscreen_requested = pyqtSignal(bool)
cur_caret_selection_toggled = pyqtSignal(bool) cur_caret_selection_toggled = pyqtSignal(bool)
close_window = pyqtSignal() close_window = pyqtSignal()

View File

@ -89,7 +89,7 @@ def test_set_url(url_widget, url_text, expected, which):
def test_on_load_status_changed(url_widget, status, expected): def test_on_load_status_changed(url_widget, status, expected):
"""Test text when status is changed.""" """Test text when status is changed."""
url_widget.set_url(QUrl('www.example.com')) url_widget.set_url(QUrl('www.example.com'))
url_widget.on_load_status_changed(status.name) url_widget.on_load_status_changed(status)
assert url_widget._urltype == expected assert url_widget._urltype == expected
@ -139,7 +139,7 @@ def test_on_tab_changed(url_widget, fake_web_tab, load_status, qurl):
]) ])
def test_normal_url(url_widget, qurl, load_status, expected_status): def test_normal_url(url_widget, qurl, load_status, expected_status):
url_widget.set_url(qurl) url_widget.set_url(qurl)
url_widget.on_load_status_changed(load_status.name) url_widget.on_load_status_changed(load_status)
url_widget.set_hover_url(qurl.toDisplayString()) url_widget.set_hover_url(qurl.toDisplayString())
url_widget.set_hover_url("") url_widget.set_hover_url("")
assert url_widget.text() == qurl.toDisplayString() assert url_widget.text() == qurl.toDisplayString()