summaryrefslogtreecommitdiff
path: root/qutebrowser/mainwindow/tabbedbrowser.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/mainwindow/tabbedbrowser.py')
-rw-r--r--qutebrowser/mainwindow/tabbedbrowser.py32
1 files changed, 18 insertions, 14 deletions
diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py
index c623ce809..ca6409ba0 100644
--- a/qutebrowser/mainwindow/tabbedbrowser.py
+++ b/qutebrowser/mainwindow/tabbedbrowser.py
@@ -27,16 +27,16 @@ import dataclasses
from typing import (
Any, Deque, List, Mapping, MutableMapping, MutableSequence, Optional, Tuple)
-from PyQt5.QtWidgets import QSizePolicy, QWidget, QApplication
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl, QPoint
+from qutebrowser.qt.widgets import QSizePolicy, QWidget, QApplication
+from qutebrowser.qt.core import pyqtSignal, pyqtSlot, QTimer, QUrl, QPoint
from qutebrowser.config import config
from qutebrowser.keyinput import modeman
from qutebrowser.mainwindow import tabwidget, mainwindow
from qutebrowser.browser import signalfilter, browsertab, history
-from qutebrowser.utils import (log, usertypes, utils, qtutils, objreg,
+from qutebrowser.utils import (log, usertypes, utils, qtutils,
urlutils, message, jinja, version)
-from qutebrowser.misc import quitter
+from qutebrowser.misc import quitter, objects
@dataclasses.dataclass
@@ -225,11 +225,16 @@ class TabbedBrowser(QWidget):
self.widget.currentChanged.connect(self._on_current_changed)
self.cur_fullscreen_requested.connect(self.widget.tab_bar().maybe_hide)
- self.widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
+ self.widget.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
- # load_finished instead of load_started as WORKAROUND for
- # https://bugreports.qt.io/browse/QTBUG-65223
- self.cur_load_finished.connect(self._leave_modes_on_load)
+ if (
+ objects.backend == usertypes.Backend.QtWebEngine and
+ version.qtwebengine_versions().webengine < utils.VersionNumber(5, 15, 5)
+ ):
+ # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-65223
+ self.cur_load_finished.connect(self._leave_modes_on_load)
+ else:
+ self.cur_load_started.connect(self._leave_modes_on_load)
# handle mode_override
self.current_tab_changed.connect(lambda tab: self._mode_override(tab.url()))
@@ -634,11 +639,10 @@ class TabbedBrowser(QWidget):
if config.val.tabs.tabs_are_windows and self.widget.count() > 0:
window = mainwindow.MainWindow(private=self.is_private)
+ tab = window.tabbed_browser.tabopen(
+ url=url, background=background, related=related)
window.show()
- tabbed_browser = objreg.get('tabbed-browser', scope='window',
- window=window.win_id)
- return tabbed_browser.tabopen(url=url, background=background,
- related=related)
+ return tab
tab = browsertab.create(win_id=self._win_id,
private=self.is_private,
@@ -1051,7 +1055,7 @@ class TabbedBrowser(QWidget):
"""
# strip the fragment as it may interfere with scrolling
try:
- url = self.current_url().adjusted(QUrl.RemoveFragment)
+ url = self.current_url().adjusted(QUrl.UrlFormattingOption.RemoveFragment)
except qtutils.QtValueError:
# show an error only if the mark is not automatically set
if key != "'":
@@ -1074,7 +1078,7 @@ class TabbedBrowser(QWidget):
"""
try:
# consider urls that differ only in fragment to be identical
- urlkey = self.current_url().adjusted(QUrl.RemoveFragment)
+ urlkey = self.current_url().adjusted(QUrl.UrlFormattingOption.RemoveFragment)
except qtutils.QtValueError:
urlkey = None