From cea3cb47127168fc18fce086eace4817317f243c Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 4 Jul 2014 17:32:17 +0200 Subject: [PATCH] Only leave insert/hint mode if loading started in current tab --- doc/BUGS | 2 -- qutebrowser/widgets/tabbedbrowser.py | 7 +++++++ qutebrowser/widgets/webview.py | 2 -- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/doc/BUGS b/doc/BUGS index d3a95ebaa..f9c47c8b1 100644 --- a/doc/BUGS +++ b/doc/BUGS @@ -1,8 +1,6 @@ Bugs ==== -- Rapid hinting exits hinting mode - - Concept of "current URL" should work better before urlChanged is emitted, e.g. loading a page and immediately yanking the (non-resolved) URL should work. diff --git a/qutebrowser/widgets/tabbedbrowser.py b/qutebrowser/widgets/tabbedbrowser.py index 9f1a07542..557a4f5fa 100644 --- a/qutebrowser/widgets/tabbedbrowser.py +++ b/qutebrowser/widgets/tabbedbrowser.py @@ -167,6 +167,7 @@ class TabbedBrowser(TabWidget): tab.hintmanager.hint_strings_updated.connect(self.hint_strings_updated) tab.hintmanager.download_get.connect(self.download_get) tab.hintmanager.openurl.connect(self.openurl) + self.cur_load_started.connect(self.on_cur_load_started) # downloads tab.page().unsupportedContent.connect(self.start_download) tab.page().start_download.connect(self.start_download) @@ -357,6 +358,12 @@ class TabbedBrowser(TabWidget): return self.setTabIcon(idx, EmptyTabIcon()) + @pyqtSlot() + def on_cur_load_started(self): + """Leave insert/hint mode when loading started.""" + for mode in ('insert', 'hint'): + modeman.maybe_leave(mode, 'load started') + @pyqtSlot(WebView, str) def on_title_changed(self, tab, text): """Set the title of a tab. diff --git a/qutebrowser/widgets/webview.py b/qutebrowser/widgets/webview.py index a6902a765..5d4d034a4 100644 --- a/qutebrowser/widgets/webview.py +++ b/qutebrowser/widgets/webview.py @@ -367,8 +367,6 @@ class WebView(QWebView): @pyqtSlot() def on_load_started(self): """Leave insert/hint mode and set vars when a new page is loading.""" - for mode in ('insert', 'hint'): - modeman.maybe_leave(mode, 'load started') self.progress = 0 self._has_ssl_errors = False self.load_status = LoadStatus.loading