summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <git@the-compiler.org>2016-04-26 20:20:29 +0200
committerFlorian Bruhin <git@the-compiler.org>2016-04-30 14:42:00 +0200
commitbe1630f7d009e1ad6965cd052e1d324a15c77a03 (patch)
treee15627305f259747a4a31a1a7cd322f92e313d8f
parentc57bf8701e7943d871b23b6a57a3c9e912b5f7e0 (diff)
downloadqutebrowser-be1630f7d009e1ad6965cd052e1d324a15c77a03.tar.gz
qutebrowser-be1630f7d009e1ad6965cd052e1d324a15c77a03.zip
Fix types in @pyqtSlot decorations
PyQt 5.5 enforces correct type signatures, and there were a lot of places where we were simply wrong, causing qutebrowser to not start at all...
-rw-r--r--qutebrowser/browser/downloads.py4
-rw-r--r--qutebrowser/browser/network/networkmanager.py4
-rw-r--r--qutebrowser/browser/webpage.py6
-rw-r--r--qutebrowser/browser/webview.py2
-rw-r--r--qutebrowser/commands/runners.py1
-rw-r--r--qutebrowser/completion/models/miscmodels.py5
-rw-r--r--qutebrowser/config/config.py2
-rw-r--r--qutebrowser/mainwindow/statusbar/percentage.py3
-rw-r--r--qutebrowser/mainwindow/statusbar/progress.py2
-rw-r--r--qutebrowser/mainwindow/statusbar/text.py3
-rw-r--r--qutebrowser/mainwindow/statusbar/url.py2
-rw-r--r--qutebrowser/misc/ipc.py2
12 files changed, 20 insertions, 16 deletions
diff --git a/qutebrowser/browser/downloads.py b/qutebrowser/browser/downloads.py
index 01b188a4f..fd9d8e6c1 100644
--- a/qutebrowser/browser/downloads.py
+++ b/qutebrowser/browser/downloads.py
@@ -231,7 +231,7 @@ class DownloadItemStats(QObject):
else:
return remaining_bytes / avg
- @pyqtSlot(int, int)
+ @pyqtSlot('qint64', 'qint64')
def on_download_progress(self, bytes_done, bytes_total):
"""Update local variables when the download progress changed.
@@ -650,7 +650,7 @@ class DownloadItem(QObject):
except OSError as e:
self._die(e.strerror)
- @pyqtSlot(int)
+ @pyqtSlot('QNetworkReply::NetworkError')
def on_reply_error(self, code):
"""Handle QNetworkReply errors."""
if code == QNetworkReply.OperationCanceledError:
diff --git a/qutebrowser/browser/network/networkmanager.py b/qutebrowser/browser/network/networkmanager.py
index a222f2713..8eaa8b63b 100644
--- a/qutebrowser/browser/network/networkmanager.py
+++ b/qutebrowser/browser/network/networkmanager.py
@@ -253,7 +253,7 @@ class NetworkManager(QNetworkAccessManager):
except KeyError:
pass
- @pyqtSlot('QNetworkReply', 'QAuthenticator')
+ @pyqtSlot('QNetworkReply*', 'QAuthenticator*')
def on_authentication_required(self, reply, authenticator):
"""Called when a website needs authentication."""
user, password = None, None
@@ -286,7 +286,7 @@ class NetworkManager(QNetworkAccessManager):
authenticator.setUser(user)
authenticator.setPassword(password)
- @pyqtSlot('QNetworkProxy', 'QAuthenticator')
+ @pyqtSlot('QNetworkProxy', 'QAuthenticator*')
def on_proxy_authentication_required(self, proxy, authenticator):
"""Called when a proxy needs authentication."""
proxy_id = ProxyId(proxy.type(), proxy.hostName(), proxy.port())
diff --git a/qutebrowser/browser/webpage.py b/qutebrowser/browser/webpage.py
index 29c8dcf1d..6b01b8a29 100644
--- a/qutebrowser/browser/webpage.py
+++ b/qutebrowser/browser/webpage.py
@@ -288,7 +288,7 @@ class BrowserPage(QWebPage):
window=self._win_id)
download_manager.get_request(req, page=self)
- @pyqtSlot('QNetworkReply')
+ @pyqtSlot('QNetworkReply*')
def on_unsupported_content(self, reply):
"""Handle an unsupportedContent signal.
@@ -334,7 +334,7 @@ class BrowserPage(QWebPage):
else:
self.error_occurred = False
- @pyqtSlot('QWebFrame', 'QWebPage::Feature')
+ @pyqtSlot('QWebFrame*', 'QWebPage::Feature')
def on_feature_permission_requested(self, frame, feature):
"""Ask the user for approval for geolocation/notifications."""
options = {
@@ -439,7 +439,7 @@ class BrowserPage(QWebPage):
if 'scroll-pos' in data and frame.scrollPosition() == QPoint(0, 0):
frame.setScrollPosition(data['scroll-pos'])
- @pyqtSlot(str)
+ @pyqtSlot(usertypes.ClickTarget)
def on_start_hinting(self, hint_target):
"""Emitted before a hinting-click takes place.
diff --git a/qutebrowser/browser/webview.py b/qutebrowser/browser/webview.py
index caedd7a9d..3d2e80e4c 100644
--- a/qutebrowser/browser/webview.py
+++ b/qutebrowser/browser/webview.py
@@ -352,7 +352,7 @@ class WebView(QWebView):
frame = self.page().mainFrame()
frame.javaScriptWindowObjectCleared.connect(self.add_js_bridge)
- @pyqtSlot(QWebFrame)
+ @pyqtSlot()
def add_js_bridge(self):
"""Add the javascript bridge for qute:... pages."""
frame = self.sender()
diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py
index d03486570..f4cf8c8c1 100644
--- a/qutebrowser/commands/runners.py
+++ b/qutebrowser/commands/runners.py
@@ -249,6 +249,7 @@ class CommandRunner(QObject):
result.cmd.run(self._win_id, args)
@pyqtSlot(str, int)
+ @pyqtSlot(str)
def run_safely(self, text, count=None):
"""Run a command and display exceptions in the statusbar."""
try:
diff --git a/qutebrowser/completion/models/miscmodels.py b/qutebrowser/completion/models/miscmodels.py
index 400ea2568..b8261c9e7 100644
--- a/qutebrowser/completion/models/miscmodels.py
+++ b/qutebrowser/completion/models/miscmodels.py
@@ -26,6 +26,7 @@ from qutebrowser.config import config, configdata
from qutebrowser.utils import objreg, log
from qutebrowser.commands import cmdutils
from qutebrowser.completion.models import base
+from qutebrowser.mainwindow import mainwindow
class CommandCompletionModel(base.BaseCompletionModel):
@@ -175,9 +176,7 @@ class TabCompletionModel(base.BaseCompletionModel):
objreg.get("app").new_window.connect(self.on_new_window)
self.rebuild()
- # slot argument should be mainwindow.MainWindow but can't import
- # that at module level because of import loops.
- @pyqtSlot(object)
+ @pyqtSlot(mainwindow.MainWindow)
def on_new_window(self, window):
"""Add hooks to new windows."""
window.tabbed_browser.new_tab.connect(self.on_new_tab)
diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py
index af901a29d..bcba2c4d5 100644
--- a/qutebrowser/config/config.py
+++ b/qutebrowser/config/config.py
@@ -95,6 +95,7 @@ class change_filter: # pylint: disable=invalid-name
"""
if self._function:
@pyqtSlot(str, str)
+ @pyqtSlot()
@functools.wraps(func)
def wrapper(sectname=None, optname=None):
if sectname is None and optname is None:
@@ -108,6 +109,7 @@ class change_filter: # pylint: disable=invalid-name
return func()
else:
@pyqtSlot(str, str)
+ @pyqtSlot()
@functools.wraps(func)
def wrapper(wrapper_self, sectname=None, optname=None):
if sectname is None and optname is None:
diff --git a/qutebrowser/mainwindow/statusbar/percentage.py b/qutebrowser/mainwindow/statusbar/percentage.py
index 2539be94f..1f6a05377 100644
--- a/qutebrowser/mainwindow/statusbar/percentage.py
+++ b/qutebrowser/mainwindow/statusbar/percentage.py
@@ -22,6 +22,7 @@
from PyQt5.QtCore import pyqtSlot
from qutebrowser.mainwindow.statusbar import textbase
+from qutebrowser.browser import webview
class Percentage(textbase.TextBase):
@@ -48,7 +49,7 @@ class Percentage(textbase.TextBase):
else:
self.setText('[{:2}%]'.format(y))
- @pyqtSlot(object)
+ @pyqtSlot(webview.WebView)
def on_tab_changed(self, tab):
"""Update scroll position when tab changed."""
self.set_perc(*tab.scroll_pos)
diff --git a/qutebrowser/mainwindow/statusbar/progress.py b/qutebrowser/mainwindow/statusbar/progress.py
index eae05bb68..3fd6878a7 100644
--- a/qutebrowser/mainwindow/statusbar/progress.py
+++ b/qutebrowser/mainwindow/statusbar/progress.py
@@ -59,7 +59,7 @@ class Progress(QProgressBar):
self.setValue(0)
self.show()
- @pyqtSlot(int)
+ @pyqtSlot(webview.WebView)
def on_tab_changed(self, tab):
"""Set the correct value when the current tab changed."""
if self is None: # pragma: no branch
diff --git a/qutebrowser/mainwindow/statusbar/text.py b/qutebrowser/mainwindow/statusbar/text.py
index c9c04a94f..0a6721b6c 100644
--- a/qutebrowser/mainwindow/statusbar/text.py
+++ b/qutebrowser/mainwindow/statusbar/text.py
@@ -24,6 +24,7 @@ from PyQt5.QtCore import pyqtSlot
from qutebrowser.config import config
from qutebrowser.mainwindow.statusbar import textbase
from qutebrowser.utils import usertypes, log, objreg
+from qutebrowser.browser import webview
class Text(textbase.TextBase):
@@ -98,7 +99,7 @@ class Text(textbase.TextBase):
"""Clear jstext when page loading started."""
self._jstext = ''
- @pyqtSlot(int)
+ @pyqtSlot(webview.WebView)
def on_tab_changed(self, tab):
"""Set the correct jstext when the current tab changed."""
self._jstext = tab.statusbar_message
diff --git a/qutebrowser/mainwindow/statusbar/url.py b/qutebrowser/mainwindow/statusbar/url.py
index 16c1e37f1..e4812b384 100644
--- a/qutebrowser/mainwindow/statusbar/url.py
+++ b/qutebrowser/mainwindow/statusbar/url.py
@@ -158,7 +158,7 @@ class UrlText(textbase.TextBase):
self._hover_url = None
self._update_url()
- @pyqtSlot(int)
+ @pyqtSlot(webview.WebView)
def on_tab_changed(self, tab):
"""Update URL if the tab changed."""
self._hover_url = None
diff --git a/qutebrowser/misc/ipc.py b/qutebrowser/misc/ipc.py
index 2651fe4a8..28462d44b 100644
--- a/qutebrowser/misc/ipc.py
+++ b/qutebrowser/misc/ipc.py
@@ -221,7 +221,7 @@ class IPCServer(QObject):
# This means we only use setSocketOption on Windows...
os.chmod(self._server.fullServerName(), 0o700)
- @pyqtSlot(int)
+ @pyqtSlot('QLocalSocket::LocalSocketError')
def on_error(self, err):
"""Raise SocketError on fatal errors."""
if self._socket is None: