From b80c05d24863de0fdfa7dc2cb3af46d4f827b24c Mon Sep 17 00:00:00 2001 From: wandererfan Date: Thu, 26 Oct 2023 11:58:43 -0400 Subject: [PATCH] [TD]fix loss of line style --- src/Mod/TechDraw/Gui/QGIEdge.cpp | 3 ++- src/Mod/TechDraw/Gui/QGIPrimPath.cpp | 6 +++++- src/Mod/TechDraw/Gui/QGIViewPart.cpp | 2 -- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Mod/TechDraw/Gui/QGIEdge.cpp b/src/Mod/TechDraw/Gui/QGIEdge.cpp index 0e69c79982..57daf3b975 100644 --- a/src/Mod/TechDraw/Gui/QGIEdge.cpp +++ b/src/Mod/TechDraw/Gui/QGIEdge.cpp @@ -51,7 +51,8 @@ QGIEdge::QGIEdge(int index) : setFill(Qt::NoBrush); } -//NOTE this refers to Qt cosmetic lines +// NOTE this refers to Qt cosmetic lines (a line with minimum width), +// not FreeCAD cosmetic lines void QGIEdge::setCosmetic(bool state) { // Base::Console().Message("QGIE::setCosmetic(%d)\n", state); diff --git a/src/Mod/TechDraw/Gui/QGIPrimPath.cpp b/src/Mod/TechDraw/Gui/QGIPrimPath.cpp index 1e9845269a..63679534ca 100644 --- a/src/Mod/TechDraw/Gui/QGIPrimPath.cpp +++ b/src/Mod/TechDraw/Gui/QGIPrimPath.cpp @@ -59,7 +59,8 @@ QGIPrimPath::QGIPrimPath(): m_colOverride = false; m_colNormal = getNormalColor(); m_colCurrent = m_colNormal; - m_styleCurrent = Qt::SolidLine; + m_styleNormal = Qt::SolidLine; + m_styleCurrent = m_styleNormal; m_pen.setStyle(m_styleCurrent); m_capStyle = prefCapStyle(); m_pen.setCapStyle(m_capStyle); @@ -207,6 +208,7 @@ void QGIPrimPath::setWidth(double w) void QGIPrimPath::setStyle(Qt::PenStyle s) { // Base::Console().Message("QGIPP::setStyle(QTPS: %d)\n", s); + m_styleNormal = s; m_styleCurrent = s; } @@ -214,6 +216,7 @@ void QGIPrimPath::setStyle(int s) { // Base::Console().Message("QGIPP::setStyle(int: %d)\n", s); m_styleCurrent = static_cast(s); + m_styleNormal = static_cast(s); } void QGIPrimPath::setNormalColor(QColor c) @@ -308,6 +311,7 @@ void QGIPrimPath::paint ( QPainter * painter, const QStyleOptionGraphicsItem * o m_pen.setWidthF(m_width); m_pen.setColor(m_colCurrent); + m_pen.setStyle(m_styleCurrent); setPen(m_pen); m_brush.setColor(m_fillColorCurrent); diff --git a/src/Mod/TechDraw/Gui/QGIViewPart.cpp b/src/Mod/TechDraw/Gui/QGIViewPart.cpp index f7b7e13b6d..fe4e60d42a 100644 --- a/src/Mod/TechDraw/Gui/QGIViewPart.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewPart.cpp @@ -289,8 +289,6 @@ void QGIViewPart::drawAllEdges() item->setNormalColor(PreferencesGui::getAccessibleQColor(PreferencesGui::normalQColor())); item->setStyle(Qt::SolidLine); if ((*itGeom)->getCosmetic()) { - item->setCosmetic(true); - // cosmetic edge - format appropriately int source = (*itGeom)->source(); if (source == COSMETICEDGE) {