mirror of
https://github.com/yusufipk/dikte.git
synced 2026-09-11 19:06:11 +00:00
Allow wheel events on focused boxes when window is inactive
This commit is contained in:
@@ -207,7 +207,9 @@ class WheelGuard(QObject):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def eventFilter(self, box, event):
|
def eventFilter(self, box, event):
|
||||||
if event.type() == QEvent.Type.Wheel and not box.hasFocus():
|
win = box.window()
|
||||||
|
focused = box.hasFocus() or (win is not None and win.focusWidget() is box)
|
||||||
|
if event.type() == QEvent.Type.Wheel and not focused:
|
||||||
# Refused rather than swallowed. An unaccepted wheel event carries
|
# Refused rather than swallowed. An unaccepted wheel event carries
|
||||||
# on up the parents to the scroll area, so the page still moves.
|
# on up the parents to the scroll area, so the page still moves.
|
||||||
event.ignore()
|
event.ignore()
|
||||||
|
|||||||
@@ -223,6 +223,17 @@ class Settings(DikteTest):
|
|||||||
QApplication.sendEvent(box, self.wheel())
|
QApplication.sendEvent(box, self.wheel())
|
||||||
self.assertNotEqual(box.currentIndex(), before)
|
self.assertNotEqual(box.currentIndex(), before)
|
||||||
|
|
||||||
|
def test_the_wheel_is_refused_when_another_widget_has_focus(self):
|
||||||
|
window = self.window(cfg.Config())
|
||||||
|
box = window.ui_language
|
||||||
|
other = window.corner
|
||||||
|
other.setFocus()
|
||||||
|
before = box.currentIndex()
|
||||||
|
rolled = self.wheel()
|
||||||
|
QApplication.sendEvent(box, rolled)
|
||||||
|
self.assertEqual(box.currentIndex(), before)
|
||||||
|
self.assertFalse(rolled.isAccepted())
|
||||||
|
|
||||||
def test_a_wrapped_label_keeps_the_room_its_lines_need(self):
|
def test_a_wrapped_label_keeps_the_room_its_lines_need(self):
|
||||||
# The program path shares a row with a button, and a row is measured
|
# The program path shares a row with a button, and a row is measured
|
||||||
# before its width is known: the label has to claim the second line back
|
# before its width is known: the label has to claim the second line back
|
||||||
|
|||||||
Reference in New Issue
Block a user