Properly work around Qt 5.11 keyboard focus issues
Please let this be the last attempt... :D
Fixes #3939
Supersedes #3921
Reverts ae295a7f65
See #3661
This should not regress #3872. Might affect #3834 in some way.
This commit is contained in:
parent
bc37af7c95
commit
71ad8bdb47
@ -22,7 +22,7 @@
|
|||||||
from PyQt5.QtCore import QObject, QEvent, Qt, QTimer
|
from PyQt5.QtCore import QObject, QEvent, Qt, QTimer
|
||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.utils import message, log, usertypes
|
from qutebrowser.utils import message, log, usertypes, qtutils
|
||||||
from qutebrowser.keyinput import modeman
|
from qutebrowser.keyinput import modeman
|
||||||
|
|
||||||
|
|
||||||
@ -54,6 +54,11 @@ class ChildEventFilter(QObject):
|
|||||||
obj, child))
|
obj, child))
|
||||||
assert obj is self._widget
|
assert obj is self._widget
|
||||||
child.installEventFilter(self._filter)
|
child.installEventFilter(self._filter)
|
||||||
|
|
||||||
|
if qtutils.version_check('5.11', compiled=False, exact=True):
|
||||||
|
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076
|
||||||
|
QTimer.singleShot(0, self._widget.setFocus)
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
@ -789,8 +789,6 @@ class WebEngineTab(browsertab.AbstractTab):
|
|||||||
url: The QUrl to open.
|
url: The QUrl to open.
|
||||||
predict: If set to False, predicted_navigation is not emitted.
|
predict: If set to False, predicted_navigation is not emitted.
|
||||||
"""
|
"""
|
||||||
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076
|
|
||||||
self._widget.setFocus()
|
|
||||||
self._saved_zoom = self.zoom.factor()
|
self._saved_zoom = self.zoom.factor()
|
||||||
self._openurl_prepare(url, predict=predict)
|
self._openurl_prepare(url, predict=predict)
|
||||||
self._widget.load(url)
|
self._widget.load(url)
|
||||||
|
@ -490,6 +490,7 @@ class TabbedBrowser(QWidget):
|
|||||||
else:
|
else:
|
||||||
self.widget.setCurrentWidget(tab)
|
self.widget.setCurrentWidget(tab)
|
||||||
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076
|
# WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076
|
||||||
|
# Still seems to be needed with Qt 5.11.1
|
||||||
tab.setFocus()
|
tab.setFocus()
|
||||||
|
|
||||||
tab.show()
|
tab.show()
|
||||||
|
Loading…
Reference in New Issue
Block a user