Ajdusted modifiers for panning via scroll wheel

This commit is contained in:
Rebecca Breu 2024-03-03 14:14:05 +01:00
parent 53c2ced83e
commit f9590e9f2e
4 changed files with 10 additions and 14 deletions

View file

@ -10,8 +10,8 @@ Added
clipboard in hex format (Images -> Sample Color)
* Added notification when attempting to paste from an empty or
unusable clipboard
* Panning via scrollwheel:
* Scroll wheel without modifiers: pan vertically
* Added panning via scrollwheel:
* Scroll wheel + Shift + Ctrl: pan vertically
* Scroll wheel + Shift: pan horizontally
@ -26,12 +26,6 @@ Fixed
would scale with the image and get potentially very thick.
Changed
-------
* Using the scroll wheel will now only zoom when Ctrl is pressed,
instead of zooming all the time regardless of modifiers.
0.3.2 - 2024-01-21
==================

View file

@ -3,7 +3,7 @@
<p>
Middle Click + Drag<br/>
Alt + Left Click + Drag<br/>
Mouse Wheel (pan vertically)<br/>
Shift + Ctrl + Mouse Wheel (pan vertically)<br/>
Shift + Mouse wheel (pan horizontally)
</p>
@ -29,7 +29,7 @@
Rubberband Selection: Left Click + Drag
</p>
<h4>Move Selection</h4>
<h4>Move Selected Items</h4>
<p>
Left Click + Drag

View file

@ -748,11 +748,12 @@ class BeeGraphicsView(MainControlsMixin,
self.reset_previous_transform()
def wheelEvent(self, event):
if event.modifiers() == Qt.KeyboardModifier.ControlModifier:
if event.modifiers() == Qt.KeyboardModifier.NoModifier:
self.zoom(event.angleDelta().y(), event.position())
event.accept()
return
if event.modifiers() == Qt.KeyboardModifier.NoModifier:
if event.modifiers() == (Qt.KeyboardModifier.ShiftModifier
| Qt.KeyboardModifier.ControlModifier):
self.pan(QtCore.QPointF(0, 0.5 * event.angleDelta().y()))
event.accept()
return

View file

@ -934,7 +934,7 @@ def test_wheel_event_zoom(zoom_mock, view):
event = MagicMock()
event.angleDelta.return_value = QtCore.QPointF(0.0, 40.0)
event.position.return_value = QtCore.QPointF(10.0, 20.0)
event.modifiers.return_value = Qt.KeyboardModifier.ControlModifier
event.modifiers.return_value = Qt.KeyboardModifier.NoModifier
view.wheelEvent(event)
zoom_mock.assert_called_once_with(40, QtCore.QPointF(10.0, 20.0))
event.accept.assert_called_once_with()
@ -945,7 +945,8 @@ def test_wheel_event_pan_vertically(pan_mock, view):
event = MagicMock()
event.angleDelta.return_value = QtCore.QPointF(0.0, 40.0)
event.position.return_value = QtCore.QPointF(10.0, 20.0)
event.modifiers.return_value = Qt.KeyboardModifier.NoModifier
event.modifiers.return_value = (Qt.KeyboardModifier.ShiftModifier
| Qt.KeyboardModifier.ControlModifier)
view.wheelEvent(event)
pan_mock.assert_called_once_with(QtCore.QPointF(0, 20))
event.accept.assert_called_once_with()