From db0945912618c1534e1ae4d7731e5db9e0f2a09b Mon Sep 17 00:00:00 2001
From: Martin Hanzik <martin@hanzik.com>
Date: Sun, 29 Apr 2018 17:26:01 +0200
Subject: [PATCH] Add origin connection box as parent of Connection

---
 agui2/src/Graphics/Connection/Connection.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/agui2/src/Graphics/Connection/Connection.cpp b/agui2/src/Graphics/Connection/Connection.cpp
index 786e0d162b..426357230d 100644
--- a/agui2/src/Graphics/Connection/Connection.cpp
+++ b/agui2/src/Graphics/Connection/Connection.cpp
@@ -12,13 +12,13 @@
 #define SHORTEST_LINE 20.0
 
 Connection::Connection(OutputConnectionBox* origin, InputConnectionBox* target)
-    : originConnectionBox(origin)
+    : QGraphicsItem(origin)
+    , originConnectionBox(origin)
     , targetConnectionBox(target)
 {
     this->setZValue(2);
-    this->boundRect = Utils::pointsToRect(origin->pos(), target->pos());
+    this->boundRect = Utils::pointsToRect({}, target->pos() - origin->pos());
     this->boundRect.adjust(-1, -1, 1, 1);
-    origin->scene()->addItem(this);
     origin->scene()->update();
 
     auto* originModel = origin->getParent()->getModelBox();
@@ -35,8 +35,8 @@ QRectF Connection::boundingRect() const {
 void Connection::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) {
     painter->setPen(QPen(Qt::black,1));
 
-    QPointF originPoint = this->originConnectionBox->scenePos();
-    QPointF targetPoint = this->targetConnectionBox->scenePos();
+    QPointF originPoint;
+    QPointF targetPoint = this->targetConnectionBox->scenePos() - this->originConnectionBox->scenePos();
 
     if ((targetPoint.x() - originPoint.x()) > SHORTEST_LINE * 2)
         this->drawDirectConnection(painter, originPoint, targetPoint);
-- 
GitLab