From 14af6609ada9c9233598ef17da059c1e77f8b8eb Mon Sep 17 00:00:00 2001
From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr>
Date: Wed, 29 Mar 2023 11:32:02 +0200
Subject: [PATCH] network: Minor change.

---
 src/model/network/Graph.py      |  4 ++++
 src/view/network/GraphWidget.py | 18 +++++++++---------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/model/network/Graph.py b/src/model/network/Graph.py
index ee0ac026..0eaf03eb 100644
--- a/src/model/network/Graph.py
+++ b/src/model/network/Graph.py
@@ -61,6 +61,10 @@ class Graph(object):
         return node
 
     def add_edge(self, n1:Node, n2:Node):
+        # This edge already exists ?
+        if list(filter(lambda e: e.node1 == n1 and e.node2 == n2, self._edges)):
+            return None
+
         edge = Edge(self._edges_ids, "", n1, n2)
         self._edges.append(edge)
         self._edges_ids += 1
diff --git a/src/view/network/GraphWidget.py b/src/view/network/GraphWidget.py
index ff3d8009..4496a291 100644
--- a/src/view/network/GraphWidget.py
+++ b/src/view/network/GraphWidget.py
@@ -136,7 +136,7 @@ class EdgeItem(QGraphicsItem):
         color = Qt.blue
         if self.graph.selected_item() == self:
             color = Qt.red
-        elif self.graph.currentEdge() == self:
+        elif self.graph.current_edge() == self:
             color = Qt.darkBlue
         elif not self.graph.graph.is_enable_edge(self.edge):
             color = Qt.darkGray
@@ -249,7 +249,7 @@ class GraphWidget(QGraphicsView):
 
         self._selected_item = None
         self._selected_new_edge_src_node = None
-        self._currentEdge = None
+        self._current_edge = None
         self.tmp_line = None
 
         self.node_items = []
@@ -405,7 +405,7 @@ class GraphWidget(QGraphicsView):
 
         edge = self.graph.add_edge(node1.node, node2.node)
         self.set_selected_item(None)
-        self.setSelectedNewEdgeSrcNode(None)
+        self.set_selected_new_edge_src_node(None)
         # Reset the temporary line
         self.tmp_line = None
 
@@ -502,7 +502,7 @@ class GraphWidget(QGraphicsView):
         """
         return self._selected_new_edge_src_node
 
-    def setSelectedNewEdgeSrcNode(self, node):
+    def set_selected_new_edge_src_node(self, node):
         """Set the current node item selected to add new edge
 
         Args:
@@ -517,13 +517,13 @@ class GraphWidget(QGraphicsView):
         if previous_node:
             previous_node.update()
 
-    def currentEdge(self):
+    def current_edge(self):
         """The current selected edge
 
         Returns:
             Item if edge are selected, otherelse None
         """
-        return self._currentEdge
+        return self._current_edge
 
     def setCurrentEdge(self, edge):
         """Set the current edge item selected
@@ -535,7 +535,7 @@ class GraphWidget(QGraphicsView):
             Nothing
         """
         previous_edge = self._selected_new_edge_src_node
-        self._currentEdge = edge
+        self._current_edge = edge
 
         if previous_edge:
             previous_edge.update()
@@ -546,7 +546,7 @@ class GraphWidget(QGraphicsView):
         Returns:
             Nothing
         """
-        self.setSelectedNewEdgeSrcNode(None)
+        self.set_selected_new_edge_src_node(None)
         if self.tmp_line is not None:
             self.tmp_line = None
             self.scene().clear()
@@ -617,7 +617,7 @@ class GraphWidget(QGraphicsView):
                 self.add_node(pos)
             else:
                 if self.selected_new_edge_src_node() is None:
-                    self.setSelectedNewEdgeSrcNode(nodes[0])
+                    self.set_selected_new_edge_src_node(nodes[0])
                 else:
                     self.add_edge(self.selected_new_edge_src_node(), nodes[0])
 
-- 
GitLab