diff --git a/sources/diagram.cpp b/sources/diagram.cpp index 9128eecac..ff3f44b4a 100644 --- a/sources/diagram.cpp +++ b/sources/diagram.cpp @@ -2397,9 +2397,10 @@ QPointF Diagram::snapToGrid(const QPointF &p) \~French true pour afficher les bornes, false sinon */ void Diagram::setDrawTerminals(bool dt) { + draw_terminals_ = dt; foreach(QGraphicsItem *qgi, items()) { if (Terminal *t = qgraphicsitem_cast(qgi)) { - t -> setVisible(dt); + t -> update(); } } } diff --git a/sources/qetgraphicsitem/terminal.cpp b/sources/qetgraphicsitem/terminal.cpp index ee041c632..00a9d65fc 100644 --- a/sources/qetgraphicsitem/terminal.cpp +++ b/sources/qetgraphicsitem/terminal.cpp @@ -199,19 +199,21 @@ void Terminal::paint( // dessin de la borne en rouge // draw the terminal in red - t.setColor(Qt::red); - painter -> setPen(t); - painter -> drawLine(c, e); + if (!diagram() || diagram()->drawTerminals()) { + t.setColor(Qt::red); + painter -> setPen(t); + painter -> drawLine(c, e); - // dessin du point d'amarrage au conducteur en bleu - // draw the docking point to the conductor in blue - t.setColor(m_hovered_color); - painter -> setPen(t); - painter -> setBrush(m_hovered_color); - if (m_hovered) { - painter -> setRenderHint(QPainter::Antialiasing, true); - painter -> drawEllipse(QRectF(c.x() - 2.5, c.y() - 2.5, 5.0, 5.0)); - } else painter -> drawPoint(c); + // dessin du point d'amarrage au conducteur en bleu + // draw the docking point to the conductor in blue + t.setColor(m_hovered_color); + painter -> setPen(t); + painter -> setBrush(m_hovered_color); + if (m_hovered) { + painter -> setRenderHint(QPainter::Antialiasing, true); + painter -> drawEllipse(QRectF(c.x() - 2.5, c.y() - 2.5, 5.0, 5.0)); + } else painter -> drawPoint(c); + } //Draw help line if needed, if (diagram() && m_draw_help_line)