From 2e2b5ef3646d22027a71af3dedfdc9d87f67b806 Mon Sep 17 00:00:00 2001 From: Rebecca Breu Date: Wed, 12 May 2021 20:55:32 +0200 Subject: [PATCH] Upgrade to PyQt 6.1 --- beeref/gui.py | 4 ++-- beeref/items.py | 2 +- beeref/scene.py | 4 ++-- beeref/selection.py | 14 +++++++------- beeref/view.py | 6 +++--- setup.py | 2 +- tests/test_scene.py | 8 ++++---- tests/test_selection.py | 16 ++++++++-------- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/beeref/gui.py b/beeref/gui.py index 85c710f..63cbc6e 100644 --- a/beeref/gui.py +++ b/beeref/gui.py @@ -36,8 +36,8 @@ class WelcomeOverlay(QtWidgets.QWidget): label = QtWidgets.QLabel(self) label.setStyleSheet("QLabel { color: #cccccc; }") label.setText(self.txt) - label.setAlignment(Qt.Alignment.AlignVCenter - | Qt.Alignment.AlignCenter) + label.setAlignment(Qt.AlignmentFlag.AlignVCenter + | Qt.AlignmentFlag.AlignCenter) layout = QtWidgets.QVBoxLayout() layout.addWidget(label) self.setLayout(layout) diff --git a/beeref/items.py b/beeref/items.py index 82397f7..72ab8c3 100644 --- a/beeref/items.py +++ b/beeref/items.py @@ -57,7 +57,7 @@ class BeePixmapItem(SelectableMixin, QtWidgets.QGraphicsPixmapItem): """Convert the pixmap data to PNG bytestring.""" barray = QtCore.QByteArray() buffer = QtCore.QBuffer(barray) - buffer.open(QtCore.QIODevice.OpenMode.WriteOnly) + buffer.open(QtCore.QIODevice.OpenModeFlag.WriteOnly) img = self.pixmap().toImage() img.save(buffer, 'PNG') return barray.data() diff --git a/beeref/scene.py b/beeref/scene.py index afb94f5..c2ca9a9 100644 --- a/beeref/scene.py +++ b/beeref/scene.py @@ -207,12 +207,12 @@ class BeeGraphicsScene(QtWidgets.QGraphicsScene): return len(self.selectedItems(user_only=True)) > 1 def mousePressEvent(self, event): - if event.button() == Qt.MouseButtons.RightButton: + if event.button() == Qt.MouseButton.RightButton: # Right-click invokes the context menu on the # GraphicsView. We don't need it here. return - if event.button() == Qt.MouseButtons.LeftButton: + if event.button() == Qt.MouseButton.LeftButton: self.event_start = event.scenePos() if self.itemAt(event.scenePos(), self.views()[0].transform()): self.move_active = True diff --git a/beeref/selection.py b/beeref/selection.py index 1797102..d282b37 100644 --- a/beeref/selection.py +++ b/beeref/selection.py @@ -117,8 +117,8 @@ class SelectableMixin(BaseItemMixin): def init_selectable(self): self.setAcceptHoverEvents(True) self.setFlags( - QtWidgets.QGraphicsItem.GraphicsItemFlags.ItemIsMovable - | QtWidgets.QGraphicsItem.GraphicsItemFlags.ItemIsSelectable) + QtWidgets.QGraphicsItem.GraphicsItemFlag.ItemIsMovable + | QtWidgets.QGraphicsItem.GraphicsItemFlag.ItemIsSelectable) self.scale_active = False self.rotate_active = False @@ -348,7 +348,7 @@ class SelectableMixin(BaseItemMixin): self.scene().views()[0].reset_previous_transform(toggle_item=self) if not self.isSelected(): self.just_selected = True - if (event.button() == Qt.MouseButtons.LeftButton + if (event.button() == Qt.MouseButton.LeftButton and self.has_selection_handles()): for corner in self.corners: # Check if we are in one of the corner's scale areas @@ -445,8 +445,8 @@ class SelectableMixin(BaseItemMixin): event.accept() return if self.rotate_active: - snap = (event.modifiers() == Qt.KeyboardModifiers.ControlModifier - or event.modifiers() == Qt.KeyboardModifiers.ShiftModifier) + snap = (event.modifiers() == Qt.KeyboardModifier.ControlModifier + or event.modifiers() == Qt.KeyboardModifier.ShiftModifier) delta = self.get_rotate_delta(event.scenePos(), snap) for item in self.selection_action_items(): item.setRotation( @@ -562,8 +562,8 @@ class MultiSelectItem(SelectableMixin, self.setTransform(QtGui.QTransform.fromScale(1, 1)) def mousePressEvent(self, event): - if (event.button() == Qt.MouseButtons.LeftButton - and event.modifiers() == Qt.KeyboardModifiers.ControlModifier): + if (event.button() == Qt.MouseButton.LeftButton + and event.modifiers() == Qt.KeyboardModifier.ControlModifier): # We still need to be able to select additional images # within/"under" the multi select rectangle, so let ctrl+click # events pass through diff --git a/beeref/view.py b/beeref/view.py index 0c2022d..3a3d7d7 100644 --- a/beeref/view.py +++ b/beeref/view.py @@ -445,9 +445,9 @@ class BeeGraphicsView(QtWidgets.QGraphicsView, ActionsMixin): super().mouseMoveEvent(event) def mousePressEvent(self, event): - if (event.button() == Qt.MouseButtons.MiddleButton - or (event.button() == Qt.MouseButtons.LeftButton - and event.modifiers() == Qt.KeyboardModifiers.AltModifier)): + if (event.button() == Qt.MouseButton.MiddleButton + or (event.button() == Qt.MouseButton.LeftButton + and event.modifiers() == Qt.KeyboardModifier.AltModifier)): if not self.scene.items(): logger.debug('No items in scene; ignore pan') return diff --git a/setup.py b/setup.py index d4c04a3..b4f2f48 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setup( license='LICENSE', description='A simple reference image viewer', install_requires=[ - 'pyQt6', + 'pyQt6>=6.1', 'rectangle-packer>=2.0.0', ], packages=['beeref'], diff --git a/tests/test_scene.py b/tests/test_scene.py index 3dc18af..cddbf59 100644 --- a/tests/test_scene.py +++ b/tests/test_scene.py @@ -341,7 +341,7 @@ class BeeGraphicsSceneTestCase(BeeTestCase): @patch('PyQt6.QtWidgets.QGraphicsScene.mousePressEvent') def test_mouse_press_event_when_right_click(self, mouse_mock): event = MagicMock( - button=MagicMock(return_value=Qt.MouseButtons.RightButton)) + button=MagicMock(return_value=Qt.MouseButton.RightButton)) self.scene.mousePressEvent(event) event.accept.assert_not_called() mouse_mock.assert_not_called() @@ -351,7 +351,7 @@ class BeeGraphicsSceneTestCase(BeeTestCase): self.scene.itemAt = MagicMock( return_value=BeePixmapItem(QtGui.QImage())) event = MagicMock( - button=MagicMock(return_value=Qt.MouseButtons.LeftButton), + button=MagicMock(return_value=Qt.MouseButton.LeftButton), scenePos=MagicMock(return_value=QtCore.QPointF(10, 20)), ) self.scene.mousePressEvent(event) @@ -367,7 +367,7 @@ class BeeGraphicsSceneTestCase(BeeTestCase): self.scene.addItem(item) self.scene.itemAt = MagicMock(return_value=None) event = MagicMock( - button=MagicMock(return_value=Qt.MouseButtons.LeftButton), + button=MagicMock(return_value=Qt.MouseButton.LeftButton), scenePos=MagicMock(return_value=QtCore.QPointF(10, 20)), ) self.scene.mousePressEvent(event) @@ -381,7 +381,7 @@ class BeeGraphicsSceneTestCase(BeeTestCase): def test_mouse_press_event_when_no_items(self, mouse_mock): self.scene.itemAt = MagicMock(return_value=None) event = MagicMock( - button=MagicMock(return_value=Qt.MouseButtons.LeftButton), + button=MagicMock(return_value=Qt.MouseButton.LeftButton), scenePos=MagicMock(return_value=QtCore.QPointF(10, 20)), ) self.scene.mousePressEvent(event) diff --git a/tests/test_selection.py b/tests/test_selection.py index 7389e9e..92f79af 100644 --- a/tests/test_selection.py +++ b/tests/test_selection.py @@ -687,7 +687,7 @@ class SelectableMixinMouseEventsTestCase(SelectableMixinBaseTestCase): self.item.setSelected(True) self.event.pos = MagicMock(return_value=QtCore.QPointF(2, 2)) self.event.scenePos = MagicMock(return_value=QtCore.QPointF(-1, -1)) - self.event.button = MagicMock(return_value=Qt.MouseButtons.LeftButton) + self.event.button = MagicMock(return_value=Qt.MouseButton.LeftButton) self.item.mousePressEvent(self.event) assert self.item.scale_active is True assert self.item.event_start == QtCore.QPointF(-1, -1) @@ -699,7 +699,7 @@ class SelectableMixinMouseEventsTestCase(SelectableMixinBaseTestCase): self.item.setSelected(True) self.event.pos = MagicMock(return_value=QtCore.QPointF(99, 79)) self.event.scenePos = MagicMock(return_value=QtCore.QPointF(101, 81)) - self.event.button = MagicMock(return_value=Qt.MouseButtons.LeftButton) + self.event.button = MagicMock(return_value=Qt.MouseButton.LeftButton) self.item.mousePressEvent(self.event) assert self.item.scale_active is True assert self.item.event_start == QtCore.QPointF(101, 81) @@ -711,7 +711,7 @@ class SelectableMixinMouseEventsTestCase(SelectableMixinBaseTestCase): self.item.setSelected(True) self.event.pos = MagicMock(return_value=QtCore.QPointF(111, 91)) self.event.scenePos = MagicMock(return_value=QtCore.QPointF(66, 99)) - self.event.button = MagicMock(return_value=Qt.MouseButtons.LeftButton) + self.event.button = MagicMock(return_value=Qt.MouseButton.LeftButton) self.item.mousePressEvent(self.event) assert self.item.rotate_active is True assert self.item.event_anchor == QtCore.QPointF(50, 40) @@ -720,7 +720,7 @@ class SelectableMixinMouseEventsTestCase(SelectableMixinBaseTestCase): def test_mouse_press_event_flip(self): self.item.setSelected(True) self.event.pos = MagicMock(return_value=QtCore.QPointF(0, 40)) - self.event.button = MagicMock(return_value=Qt.MouseButtons.LeftButton) + self.event.button = MagicMock(return_value=Qt.MouseButton.LeftButton) with patch('PyQt6.QtWidgets.QGraphicsPixmapItem.mousePressEvent'): self.item.mousePressEvent(self.event) assert self.item.flip_active is True @@ -737,7 +737,7 @@ class SelectableMixinMouseEventsTestCase(SelectableMixinBaseTestCase): def test_mouse_press_event_not_in_handles(self): self.item.setSelected(True) self.event.pos = MagicMock(return_value=QtCore.QPointF(50, 40)) - self.event.button = MagicMock(return_value=Qt.MouseButtons.LeftButton) + self.event.button = MagicMock(return_value=Qt.MouseButton.LeftButton) with patch('PyQt6.QtWidgets.QGraphicsPixmapItem.mousePressEvent') as m: self.item.mousePressEvent(self.event) m.assert_called_once_with(self.event) @@ -915,9 +915,9 @@ class MultiSelectItemTestCase(BeeTestCase): item = MultiSelectItem() item.fit_selection_area(QtCore.QRectF(0, 0, 100, 80)) event = MagicMock( - button=MagicMock(return_value=Qt.MouseButtons.LeftButton), + button=MagicMock(return_value=Qt.MouseButton.LeftButton), modifiers=MagicMock( - return_value=Qt.KeyboardModifiers.ControlModifier)) + return_value=Qt.KeyboardModifier.ControlModifier)) item.mousePressEvent(event) event.ignore.assert_called_once() mouse_mock.assert_not_called() @@ -927,7 +927,7 @@ class MultiSelectItemTestCase(BeeTestCase): item = MultiSelectItem() item.fit_selection_area(QtCore.QRectF(0, 0, 100, 80)) event = MagicMock( - button=MagicMock(return_value=Qt.MouseButtons.LeftButton)) + button=MagicMock(return_value=Qt.MouseButton.LeftButton)) item.mousePressEvent(event) event.ignore.assert_not_called() mouse_mock.assert_called_once_with(event)