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