From 51ce561c58a366a72f94c71ac95a604721db50ed Mon Sep 17 00:00:00 2001 From: Oscar Gustafsson <oscar.gustafsson@gmail.com> Date: Wed, 3 May 2023 11:07:39 +0200 Subject: [PATCH] Fix right-click menu only opening once --- b_asic/GUI/drag_button.py | 29 ++++++++++++-------------- b_asic/scheduler_gui/operation_item.py | 1 - 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/b_asic/GUI/drag_button.py b/b_asic/GUI/drag_button.py index c28f5551..0aae1255 100644 --- a/b_asic/GUI/drag_button.py +++ b/b_asic/GUI/drag_button.py @@ -63,25 +63,22 @@ class DragButton(QPushButton): self._flipped = False self._properties_window = None self.label = None - self._context_menu = None super().__init__(parent) def contextMenuEvent(self, event): - if self._context_menu is None: - menu = QMenu() - properties = QAction("Properties") - menu.addAction(properties) - properties.triggered.connect(self.show_properties_window) - - delete = QAction("Delete") - menu.addAction(delete) - delete.triggered.connect(self.remove) - - flip = QAction("Flip horizontal") - menu.addAction(flip) - flip.triggered.connect(self._flip) - self._context_menu = menu - self._context_menu.exec_(self.cursor().pos()) + menu = QMenu() + properties = QAction("Properties") + menu.addAction(properties) + properties.triggered.connect(self.show_properties_window) + + delete = QAction("Delete") + menu.addAction(delete) + delete.triggered.connect(self.remove) + + flip = QAction("Flip horizontal") + menu.addAction(flip) + flip.triggered.connect(self._flip) + menu.exec_(self.cursor().pos()) def show_properties_window(self, event=None) -> None: """Display the properties window for the associated Operation.""" diff --git a/b_asic/scheduler_gui/operation_item.py b/b_asic/scheduler_gui/operation_item.py index 6259a643..b687a016 100644 --- a/b_asic/scheduler_gui/operation_item.py +++ b/b_asic/scheduler_gui/operation_item.py @@ -89,7 +89,6 @@ class OperationItem(QGraphicsItemGroup): QCursor(Qt.CursorShape.OpenHandCursor) ) # default cursor when hovering over object - self._context_menu = None self._make_component() # def sceneEvent(self, event: QEvent) -> bool: -- GitLab