Get rid of url_text_changed signal
Instead we simply use url_changed which (similar to Qt's urlChanged) simply has a QUrl argument.
This commit is contained in:
parent
5cbd540e15
commit
a470bfc3f3
@ -445,11 +445,10 @@ class AbstractTab(QWidget):
|
|||||||
load_progress = pyqtSignal(int)
|
load_progress = pyqtSignal(int)
|
||||||
load_finished = pyqtSignal(bool)
|
load_finished = pyqtSignal(bool)
|
||||||
icon_changed = pyqtSignal(QIcon)
|
icon_changed = pyqtSignal(QIcon)
|
||||||
# FIXME:qtwebengine get rid of this altogether?
|
|
||||||
url_text_changed = pyqtSignal(str)
|
|
||||||
title_changed = pyqtSignal(str)
|
title_changed = pyqtSignal(str)
|
||||||
load_status_changed = pyqtSignal(str)
|
load_status_changed = pyqtSignal(str)
|
||||||
new_tab_requested = pyqtSignal(QUrl)
|
new_tab_requested = pyqtSignal(QUrl)
|
||||||
|
url_changed = pyqtSignal(QUrl)
|
||||||
shutting_down = pyqtSignal()
|
shutting_down = pyqtSignal()
|
||||||
|
|
||||||
def __init__(self, win_id, parent=None):
|
def __init__(self, win_id, parent=None):
|
||||||
|
@ -316,9 +316,9 @@ class WebEngineTab(browsertab.AbstractTab):
|
|||||||
page.loadProgress.connect(self._on_load_progress)
|
page.loadProgress.connect(self._on_load_progress)
|
||||||
page.loadStarted.connect(self._on_load_started)
|
page.loadStarted.connect(self._on_load_started)
|
||||||
view.titleChanged.connect(self.title_changed)
|
view.titleChanged.connect(self.title_changed)
|
||||||
|
view.urlChanged.connect(self.url_changed)
|
||||||
page.loadFinished.connect(self._on_load_finished)
|
page.loadFinished.connect(self._on_load_finished)
|
||||||
page.certificate_error.connect(self._on_ssl_errors)
|
page.certificate_error.connect(self._on_ssl_errors)
|
||||||
# FIXME:qtwebengine stub this?
|
# FIXME:qtwebengine stub this?
|
||||||
# view.iconChanged.connect(self.icon_changed)
|
# view.iconChanged.connect(self.icon_changed)
|
||||||
# view.scroll.pos_changed.connect(self.scroll.perc_changed)
|
# view.scroll.pos_changed.connect(self.scroll.perc_changed)
|
||||||
# view.url_text_changed.connect(self.url_text_changed)
|
|
||||||
|
@ -520,7 +520,7 @@ class WebKitTab(browsertab.AbstractTab):
|
|||||||
frame.loadStarted.connect(self._on_load_started)
|
frame.loadStarted.connect(self._on_load_started)
|
||||||
view.scroll_pos_changed.connect(self.scroll.perc_changed)
|
view.scroll_pos_changed.connect(self.scroll.perc_changed)
|
||||||
view.titleChanged.connect(self.title_changed)
|
view.titleChanged.connect(self.title_changed)
|
||||||
view.url_text_changed.connect(self.url_text_changed)
|
view.urlChanged.connect(self.url_changed)
|
||||||
view.shutting_down.connect(self.shutting_down)
|
view.shutting_down.connect(self.shutting_down)
|
||||||
page.networkAccessManager().sslErrors.connect(self._on_ssl_errors)
|
page.networkAccessManager().sslErrors.connect(self._on_ssl_errors)
|
||||||
|
|
||||||
|
@ -56,7 +56,6 @@ class WebView(QWebView):
|
|||||||
arg 1: x-position in %.
|
arg 1: x-position in %.
|
||||||
arg 2: y-position in %.
|
arg 2: y-position in %.
|
||||||
linkHovered: QWebPages linkHovered signal exposed.
|
linkHovered: QWebPages linkHovered signal exposed.
|
||||||
url_text_changed: Current URL string changed.
|
|
||||||
mouse_wheel_zoom: Emitted when the page should be zoomed because the
|
mouse_wheel_zoom: Emitted when the page should be zoomed because the
|
||||||
mousewheel was used with ctrl.
|
mousewheel was used with ctrl.
|
||||||
arg 1: The angle delta of the wheel event (QPoint)
|
arg 1: The angle delta of the wheel event (QPoint)
|
||||||
@ -65,7 +64,6 @@ class WebView(QWebView):
|
|||||||
|
|
||||||
scroll_pos_changed = pyqtSignal(int, int)
|
scroll_pos_changed = pyqtSignal(int, int)
|
||||||
linkHovered = pyqtSignal(str, str, str)
|
linkHovered = pyqtSignal(str, str, str)
|
||||||
url_text_changed = pyqtSignal(str)
|
|
||||||
shutting_down = pyqtSignal()
|
shutting_down = pyqtSignal()
|
||||||
mouse_wheel_zoom = pyqtSignal(QPoint)
|
mouse_wheel_zoom = pyqtSignal(QPoint)
|
||||||
|
|
||||||
@ -292,7 +290,6 @@ class WebView(QWebView):
|
|||||||
urlstr = url.toDisplayString()
|
urlstr = url.toDisplayString()
|
||||||
log.webview.debug("New title: {}".format(urlstr))
|
log.webview.debug("New title: {}".format(urlstr))
|
||||||
self.titleChanged.emit(urlstr)
|
self.titleChanged.emit(urlstr)
|
||||||
self.url_text_changed.emit(url.toDisplayString())
|
|
||||||
self.load(url)
|
self.load(url)
|
||||||
if url.scheme() == 'qute':
|
if url.scheme() == 'qute':
|
||||||
frame = self.page().mainFrame()
|
frame = self.page().mainFrame()
|
||||||
@ -318,7 +315,6 @@ class WebView(QWebView):
|
|||||||
If the URL is invalid, we just ignore it here.
|
If the URL is invalid, we just ignore it here.
|
||||||
"""
|
"""
|
||||||
if url.isValid():
|
if url.isValid():
|
||||||
self.url_text_changed.emit(url.toDisplayString())
|
|
||||||
if not self.title():
|
if not self.title():
|
||||||
self.titleChanged.emit(self.url().toDisplayString())
|
self.titleChanged.emit(self.url().toDisplayString())
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ class TabCompletionModel(base.BaseCompletionModel):
|
|||||||
window=win_id)
|
window=win_id)
|
||||||
for i in range(tabbed_browser.count()):
|
for i in range(tabbed_browser.count()):
|
||||||
tab = tabbed_browser.widget(i)
|
tab = tabbed_browser.widget(i)
|
||||||
tab.url_text_changed.connect(self.rebuild)
|
tab.url_changed.connect(self.rebuild)
|
||||||
tab.shutting_down.connect(self.delayed_rebuild)
|
tab.shutting_down.connect(self.delayed_rebuild)
|
||||||
tabbed_browser.new_tab.connect(self.on_new_tab)
|
tabbed_browser.new_tab.connect(self.on_new_tab)
|
||||||
objreg.get("app").new_window.connect(self.on_new_window)
|
objreg.get("app").new_window.connect(self.on_new_window)
|
||||||
|
@ -349,7 +349,7 @@ class MainWindow(QWidget):
|
|||||||
tabs.cur_load_started.connect(status.txt.on_load_started)
|
tabs.cur_load_started.connect(status.txt.on_load_started)
|
||||||
|
|
||||||
tabs.current_tab_changed.connect(status.url.on_tab_changed)
|
tabs.current_tab_changed.connect(status.url.on_tab_changed)
|
||||||
tabs.cur_url_text_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)
|
||||||
tabs.cur_load_status_changed.connect(status.url.on_load_status_changed)
|
tabs.cur_load_status_changed.connect(status.url.on_load_status_changed)
|
||||||
|
|
||||||
|
@ -129,14 +129,14 @@ class UrlText(textbase.TextBase):
|
|||||||
self._normal_url_type = UrlType.normal
|
self._normal_url_type = UrlType.normal
|
||||||
self._update_url()
|
self._update_url()
|
||||||
|
|
||||||
@pyqtSlot(str)
|
@pyqtSlot(QUrl)
|
||||||
def set_url(self, s):
|
def set_url(self, url):
|
||||||
"""Setter to be used as a Qt slot.
|
"""Setter to be used as a Qt slot.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
s: The URL to set as string.
|
url: The URL to set as QUrl.
|
||||||
"""
|
"""
|
||||||
self._normal_url = s
|
self._normal_url = url.toDisplayString()
|
||||||
self._normal_url_type = UrlType.normal
|
self._normal_url_type = UrlType.normal
|
||||||
self._update_url()
|
self._update_url()
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ class TabbedBrowser(tabwidget.TabWidget):
|
|||||||
cur_load_finished: Current tab finished loading (load_finished)
|
cur_load_finished: Current tab finished loading (load_finished)
|
||||||
cur_statusbar_message: Current tab got a statusbar message
|
cur_statusbar_message: Current tab got a statusbar message
|
||||||
(statusBarMessage)
|
(statusBarMessage)
|
||||||
cur_url_text_changed: Current URL text changed.
|
cur_url_changed: Current URL changed.
|
||||||
cur_link_hovered: Link hovered in current tab (link_hovered)
|
cur_link_hovered: Link hovered in current tab (link_hovered)
|
||||||
cur_scroll_perc_changed: Scroll percentage of current tab changed.
|
cur_scroll_perc_changed: Scroll percentage of current tab changed.
|
||||||
arg 1: x-position in %.
|
arg 1: x-position in %.
|
||||||
@ -93,7 +93,7 @@ class TabbedBrowser(tabwidget.TabWidget):
|
|||||||
cur_load_started = pyqtSignal()
|
cur_load_started = pyqtSignal()
|
||||||
cur_load_finished = pyqtSignal(bool)
|
cur_load_finished = pyqtSignal(bool)
|
||||||
cur_statusbar_message = pyqtSignal(str)
|
cur_statusbar_message = pyqtSignal(str)
|
||||||
cur_url_text_changed = pyqtSignal(str)
|
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(str)
|
||||||
@ -184,12 +184,12 @@ class TabbedBrowser(tabwidget.TabWidget):
|
|||||||
tab.scroll.perc_changed.connect(
|
tab.scroll.perc_changed.connect(
|
||||||
self._filter.create(self.cur_scroll_perc_changed, tab))
|
self._filter.create(self.cur_scroll_perc_changed, tab))
|
||||||
tab.scroll.perc_changed.connect(self.on_scroll_pos_changed)
|
tab.scroll.perc_changed.connect(self.on_scroll_pos_changed)
|
||||||
tab.url_text_changed.connect(
|
tab.url_changed.connect(
|
||||||
self._filter.create(self.cur_url_text_changed, tab))
|
self._filter.create(self.cur_url_changed, tab))
|
||||||
tab.load_status_changed.connect(
|
tab.load_status_changed.connect(
|
||||||
self._filter.create(self.cur_load_status_changed, tab))
|
self._filter.create(self.cur_load_status_changed, tab))
|
||||||
tab.url_text_changed.connect(
|
tab.url_changed.connect(
|
||||||
functools.partial(self.on_url_text_changed, tab))
|
functools.partial(self.on_url_changed, tab))
|
||||||
# misc
|
# misc
|
||||||
tab.title_changed.connect(
|
tab.title_changed.connect(
|
||||||
functools.partial(self.on_title_changed, tab))
|
functools.partial(self.on_title_changed, tab))
|
||||||
@ -502,8 +502,8 @@ class TabbedBrowser(tabwidget.TabWidget):
|
|||||||
if idx == self.currentIndex():
|
if idx == self.currentIndex():
|
||||||
self.update_window_title()
|
self.update_window_title()
|
||||||
|
|
||||||
@pyqtSlot(browsertab.AbstractTab, str)
|
@pyqtSlot(browsertab.AbstractTab, QUrl)
|
||||||
def on_url_text_changed(self, tab, url):
|
def on_url_changed(self, tab, url):
|
||||||
"""Set the new URL as title if there's no title yet.
|
"""Set the new URL as title if there's no title yet.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@ -516,7 +516,7 @@ class TabbedBrowser(tabwidget.TabWidget):
|
|||||||
# We can get signals for tabs we already deleted...
|
# We can get signals for tabs we already deleted...
|
||||||
return
|
return
|
||||||
if not self.page_title(idx):
|
if not self.page_title(idx):
|
||||||
self.set_page_title(idx, url)
|
self.set_page_title(idx, url.toDisplayString())
|
||||||
|
|
||||||
@pyqtSlot(browsertab.AbstractTab, QIcon)
|
@pyqtSlot(browsertab.AbstractTab, QIcon)
|
||||||
def on_icon_changed(self, tab, icon):
|
def on_icon_changed(self, tab, icon):
|
||||||
|
@ -127,19 +127,30 @@ def test_on_tab_changed(url_widget, fake_web_tab, load_status, qurl):
|
|||||||
assert url_widget.text() == qurl.toDisplayString()
|
assert url_widget.text() == qurl.toDisplayString()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('url_text, load_status, expected_status', [
|
@pytest.mark.parametrize('qurl, load_status, expected_status', [
|
||||||
('http://abc123.com/this/awesome/url.html', usertypes.LoadStatus.success,
|
(
|
||||||
url.UrlType.success),
|
QUrl('http://abc123.com/this/awesome/url.html'),
|
||||||
('https://supersecret.gov/nsa/files.txt', usertypes.LoadStatus.success_https,
|
usertypes.LoadStatus.success,
|
||||||
url.UrlType.success_https),
|
url.UrlType.success
|
||||||
('Th1$ i$ n0t @ n0rm@L uRL! P@n1c! <-->', usertypes.LoadStatus.error,
|
),
|
||||||
url.UrlType.error),
|
(
|
||||||
('http://www.qutebrowser.org/CONTRIBUTING.html', usertypes.LoadStatus.loading,
|
QUrl('https://supersecret.gov/nsa/files.txt'),
|
||||||
url.UrlType.normal),
|
usertypes.LoadStatus.success_https,
|
||||||
('www.whatisthisurl.com', usertypes.LoadStatus.warn, url.UrlType.warn)
|
url.UrlType.success_https
|
||||||
|
),
|
||||||
|
(
|
||||||
|
QUrl('http://www.qutebrowser.org/CONTRIBUTING.html'),
|
||||||
|
usertypes.LoadStatus.loading,
|
||||||
|
url.UrlType.normal
|
||||||
|
),
|
||||||
|
(
|
||||||
|
QUrl('www.whatisthisurl.com'),
|
||||||
|
usertypes.LoadStatus.warn,
|
||||||
|
url.UrlType.warn
|
||||||
|
),
|
||||||
])
|
])
|
||||||
def test_normal_url(url_widget, url_text, load_status, expected_status):
|
def test_normal_url(url_widget, qurl, load_status, expected_status):
|
||||||
url_widget.set_url(url_text)
|
url_widget.set_url(qurl)
|
||||||
url_widget.on_load_status_changed(load_status.name)
|
url_widget.on_load_status_changed(load_status.name)
|
||||||
url_widget.set_hover_url(url_text)
|
url_widget.set_hover_url(url_text)
|
||||||
url_widget.set_hover_url("")
|
url_widget.set_hover_url("")
|
||||||
|
Loading…
Reference in New Issue
Block a user