diff --git a/src/Mod/TechDraw/App/Cosmetic.cpp b/src/Mod/TechDraw/App/Cosmetic.cpp index e0e54d872d..04324ca552 100644 --- a/src/Mod/TechDraw/App/Cosmetic.cpp +++ b/src/Mod/TechDraw/App/Cosmetic.cpp @@ -104,12 +104,7 @@ std::string LineFormat::toString(void) const //static preference getters. double LineFormat::getDefEdgeWidth() { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - - double width = lg->getWeight("Graphic"); - delete lg; - return width; + return TechDraw::LineGroup::getDefaultWidth("Graphic"); } App::Color LineFormat::getDefEdgeColor() @@ -136,7 +131,7 @@ CosmeticVertex::CosmeticVertex() : TechDraw::Vertex() linkGeom = -1; color = Preferences::vertexColor(); size = Preferences::vertexScale() * - LineGroup::getDefaultWidth("Thick", Preferences::lineGroup()); + LineGroup::getDefaultWidth("Thick"); style = 1; visible = true; hlrVisible = true; @@ -165,7 +160,7 @@ CosmeticVertex::CosmeticVertex(Base::Vector3d loc) : TechDraw::Vertex(loc) linkGeom = -1; color = Preferences::vertexColor(); size = Preferences::vertexScale() * - LineGroup::getDefaultWidth("Thick", Preferences::lineGroup()); + LineGroup::getDefaultWidth("Thick"); style = 1; //TODO: implement styled vertexes visible = true; hlrVisible = true; diff --git a/src/Mod/TechDraw/App/DrawUtil.cpp b/src/Mod/TechDraw/App/DrawUtil.cpp index 35b6256b18..4e85bd1716 100644 --- a/src/Mod/TechDraw/App/DrawUtil.cpp +++ b/src/Mod/TechDraw/App/DrawUtil.cpp @@ -522,12 +522,7 @@ double DrawUtil::sensibleScale(double working_scale) double DrawUtil::getDefaultLineWeight(std::string lineType) { - int lgNumber = Preferences::lineGroup(); - auto lg = LineGroup::lineGroupFactory(lgNumber); - - double weight = lg->getWeight(lineType); - delete lg; //Coverity CID 174671 - return weight; + return TechDraw::LineGroup::getDefaultWidth(lineType); } bool DrawUtil::isBetween(const Base::Vector3d pt, const Base::Vector3d end1, const Base::Vector3d end2) diff --git a/src/Mod/TechDraw/App/LineGroup.cpp b/src/Mod/TechDraw/App/LineGroup.cpp index 54a37f2278..5ae3cdcbda 100644 --- a/src/Mod/TechDraw/App/LineGroup.cpp +++ b/src/Mod/TechDraw/App/LineGroup.cpp @@ -178,15 +178,19 @@ LineGroup* LineGroup::lineGroupFactory(int groupNumber) return lg; } -//valid weight names: Thick, Thin, Graphic, Extra -double LineGroup::getDefaultWidth(std::string weightName, int groupNumber) +/** + * @brief Returns the default line width given a weight name and group number. + * + * @param weightName can be "Thick", "Thin", "Graphic" or "Extra" + * @param lineGroupNumber if -1 will then use groupNumber in preferences. Default value is -1. + * @return the default line width. + */ +double LineGroup::getDefaultWidth(std::string weightName, int lineGroupNumber) { - //default line weights - int lgNumber = groupNumber; - if (lgNumber == -1) { - lgNumber = Preferences::lineGroup(); + if (lineGroupNumber == -1) { + lineGroupNumber = Preferences::lineGroup(); } - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); + auto lg = TechDraw::LineGroup::lineGroupFactory(lineGroupNumber); double weight = lg->getWeight(weightName); delete lg; diff --git a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp index 8831d0a654..14184ad8eb 100644 --- a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp @@ -426,17 +426,12 @@ void TaskCenterLine::enableTaskButtons(bool b) double TaskCenterLine::getCenterWidth() { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - - double width = lg->getWeight("Graphic"); - delete lg; Gui::ViewProvider* vp = QGIView::getViewProvider(m_partFeat); auto partVP = dynamic_cast(vp); - if (partVP) { - width = partVP->IsoWidth.getValue(); + if (!partVP) { + return TechDraw::LineGroup::getDefaultWidth("Graphic"); } - return width; + return partVP->IsoWidth.getValue(); } Qt::PenStyle TaskCenterLine::getCenterStyle() diff --git a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp index 32a6747d8d..8d7c6f8e60 100644 --- a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp @@ -778,11 +778,7 @@ int TaskLeaderLine::getPrefArrowStyle() double TaskLeaderLine::prefWeight() const { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double weight = lg->getWeight("Thin"); - delete lg; //Coverity CID 174670 - return weight; + return TechDraw::LineGroup::getDefaultWidth("Thin"); } App::Color TaskLeaderLine::prefLineColor(void) diff --git a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp index 273e283c9b..8f16e8a958 100644 --- a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp +++ b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp @@ -319,11 +319,7 @@ void TaskRichAnno::onEditorExit(void) double TaskRichAnno::prefWeight() const { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double weight = lg->getWeight("Graphic"); - delete lg; //Coverity CID 174670 - return weight; + return TechDraw::LineGroup::getDefaultWidth("Graphic"); } App::Color TaskRichAnno::prefLineColor(void) diff --git a/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp b/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp index dd2da129d0..4541c86088 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp @@ -60,10 +60,7 @@ ViewProviderBalloon::ViewProviderBalloon() ADD_PROPERTY_TYPE(Font, (Preferences::labelFont().c_str()), group, App::Prop_None, "The name of the font to use"); ADD_PROPERTY_TYPE(Fontsize, (Preferences::dimFontSizeMM()), group, (App::PropertyType)(App::Prop_None), "Balloon text size in units"); - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double weight = lg->getWeight("Thin"); - delete lg; //Coverity CID 174670 + double weight = TechDraw::LineGroup::getDefaultWidth("Thin"); ADD_PROPERTY_TYPE(LineWidth, (weight), group, (App::PropertyType)(App::Prop_None), "Leader line width"); ADD_PROPERTY_TYPE(LineVisible, (true), group, (App::PropertyType)(App::Prop_None), "Balloon line visible or hidden"); ADD_PROPERTY_TYPE(Color, (PreferencesGui::dimColor()), group, App::Prop_None, "Color of the balloon"); diff --git a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp index 3879cb5547..7ec74f81a1 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp @@ -240,11 +240,7 @@ double ViewProviderDimension::prefFontSize() const double ViewProviderDimension::prefWeight() const { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double weight = lg->getWeight("Thin"); - delete lg; //Coverity CID 174670 - return weight; + return TechDraw::LineGroup::getDefaultWidth("Thin"); } int ViewProviderDimension::prefStandardAndStyle() const diff --git a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp index 3eb160db67..daef49c1c3 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp @@ -178,10 +178,7 @@ void ViewProviderGeomHatch::updateGraphic(void) void ViewProviderGeomHatch::getParameters(void) { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double weight = lg->getWeight("Graphic"); - delete lg; //Coverity CID 174667 + double weight = TechDraw::LineGroup::getDefaultWidth("Graphic"); WeightPattern.setValue(weight); } diff --git a/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp b/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp index 68b6e48463..1426e9d145 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp @@ -181,11 +181,7 @@ TechDraw::DrawLeaderLine* ViewProviderLeader::getFeature() const double ViewProviderLeader::getDefLineWeight(void) { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double result = lg->getWeight("Thin"); - delete lg; //Coverity CID 174670 - return result; + return TechDraw::LineGroup::getDefaultWidth("Thin"); } App::Color ViewProviderLeader::getDefLineColor(void) diff --git a/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp b/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp index bf0561b8b4..08e5b7a1eb 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp @@ -168,11 +168,7 @@ double ViewProviderRichAnno::getDefFontSize() double ViewProviderRichAnno::getDefLineWeight(void) { - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double result = lg->getWeight("Graphics"); - delete lg; - return result; + return TechDraw::LineGroup::getDefaultWidth("Graphics"); } void ViewProviderRichAnno::handleChangedPropertyType(Base::XMLReader &reader, const char *TypeName, App::Property *prop) diff --git a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp index c405038b78..720f790c55 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp @@ -78,21 +78,18 @@ ViewProviderViewPart::ViewProviderViewPart() static const char *hgroup = "Highlight"; //default line weights - int lgNumber = Preferences::lineGroup(); - auto lg = TechDraw::LineGroup::lineGroupFactory(lgNumber); - double weight = lg->getWeight("Thick"); + double weight = TechDraw::LineGroup::getDefaultWidth("Thick"); ADD_PROPERTY_TYPE(LineWidth,(weight),group,App::Prop_None,"The thickness of visible lines (line groups xx.2"); - weight = lg->getWeight("Thin"); + weight = TechDraw::LineGroup::getDefaultWidth("Thin"); ADD_PROPERTY_TYPE(HiddenWidth,(weight),group,App::Prop_None,"The thickness of hidden lines, if enabled (line groups xx.1)"); - weight = lg->getWeight("Graphic"); + weight = TechDraw::LineGroup::getDefaultWidth("Graphic"); ADD_PROPERTY_TYPE(IsoWidth,(weight),group,App::Prop_None,"The thickness of isoparameter lines, if enabled"); - weight = lg->getWeight("Extra"); + weight = TechDraw::LineGroup::getDefaultWidth("Extra"); ADD_PROPERTY_TYPE(ExtraWidth,(weight),group,App::Prop_None,"The thickness of LineGroup Extra lines, if enabled"); - delete lg; //Coverity CID 174664 Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations");