From ba89dccd47e05ce3cb45683c7d5d5d57d684d1c4 Mon Sep 17 00:00:00 2001 From: Andy Stewart Date: Wed, 5 Feb 2020 12:48:13 +0800 Subject: [PATCH] Fix #222 --- core/browser.py | 7 +++++++ eaf.py | 1 + 2 files changed, 8 insertions(+) diff --git a/core/browser.py b/core/browser.py index a6c6703..204e97d 100644 --- a/core/browser.py +++ b/core/browser.py @@ -38,6 +38,7 @@ class BrowserView(QWebEngineView): open_url_in_new_tab = QtCore.pyqtSignal(str) open_url_in_background_tab = QtCore.pyqtSignal(str) translate_selected_text = QtCore.pyqtSignal(str) + trigger_focus_event = QtCore.pyqtSignal(str) def __init__(self, config_dir): super(QWebEngineView, self).__init__() @@ -142,6 +143,12 @@ class BrowserView(QWebEngineView): return QWebEngineView.event(self, event) def eventFilter(self, obj, event): + # Focus emacs buffer when user click view. + if event.type() in [QEvent.MouseButtonPress, QEvent.MouseButtonRelease, + QEvent.MouseMove, QEvent.MouseButtonDblClick, QEvent.Wheel]: + # Send mouse event to applicatin view. + self.trigger_focus_event.emit("{0},{1}".format(event.globalX(), event.globalY())) + if event.type() == QEvent.MouseButtonRelease: hit = self.web_page.hitTestContent(event.pos()) clicked_url = hit.linkUrl() diff --git a/eaf.py b/eaf.py index 89c7da6..4278679 100755 --- a/eaf.py +++ b/eaf.py @@ -178,6 +178,7 @@ class EAF(dbus.service.Object): if module_path == "app.browser.buffer": app_buffer.buffer_widget.create_new_browser_window_callback = self.create_new_browser_window app_buffer.get_focus_text.connect(self.browser_edit_focus_text) + app_buffer.buffer_widget.trigger_focus_event.connect(self.focus_emacs_buffer) elif module_path == "app.rss-reader.buffer": app_buffer.buffer_widget.browser.create_new_browser_window_callback = self.create_new_browser_window