QtWebEngine: Fix insert mode checks with zoom

Fixes #2169
This commit is contained in:
Florian Bruhin 2017-02-04 22:12:13 +01:00
parent 6f0c8245e0
commit e8bbc1adf8
3 changed files with 7 additions and 2 deletions

View File

@ -41,6 +41,7 @@ Fixed
- `:record-macro` (`q`) now doesn't try to record macros for special keys without a text.
- Fixed PAC (proxy autoconfig) not working with QtWebKit
- `:download --mhtml` now uses the new file dialog
- Insert mode now gets entered correctly with a non-100% zoom
v0.9.1
------

View File

@ -95,7 +95,8 @@ class MouseEventFilter(QObject):
self._ignore_wheel_event = True
if e.button() != Qt.NoButton:
self._tab.elements.find_at_pos(e.pos(),
zoom = self._tab.zoom.factor()
self._tab.elements.find_at_pos(e.pos() / zoom,
self._mousepress_insertmode_cb)
return False

View File

@ -35,12 +35,15 @@ import pytest
('autofocus.html', 'qute-input-autofocus', 'keypress', 'cutebrowser',
'true'),
])
def test_insert_mode(file_name, elem_id, source, input_text, auto_insert,
@pytest.mark.parametrize('zoom', [100, 125])
def test_insert_mode(file_name, elem_id, source, input_text, auto_insert, zoom,
quteproc, request):
url_path = 'data/insert_mode_settings/html/{}'.format(file_name)
quteproc.open_path(url_path)
quteproc.set_setting('input', 'auto-insert-mode', auto_insert)
quteproc.send_cmd(':zoom {}'.format(zoom))
quteproc.send_cmd(':click-element --force-event id {}'.format(elem_id))
quteproc.wait_for(message='Entering mode KeyMode.insert (reason: *)')
quteproc.send_cmd(':debug-set-fake-clipboard')