From a3029fec74419fe75f1446069f3cbb44a38c7d5b Mon Sep 17 00:00:00 2001 From: wandererfan Date: Sun, 12 Apr 2020 20:44:08 -0400 Subject: [PATCH] [TD]Centralize preference getters --- src/Mod/TechDraw/App/CMakeLists.txt | 2 + src/Mod/TechDraw/App/Cosmetic.cpp | 25 +-- src/Mod/TechDraw/App/DrawPage.cpp | 27 +-- src/Mod/TechDraw/App/DrawProjGroup.cpp | 6 +- src/Mod/TechDraw/App/DrawUtil.cpp | 6 +- src/Mod/TechDraw/App/DrawView.cpp | 1 + src/Mod/TechDraw/App/DrawViewAnnotation.cpp | 12 +- src/Mod/TechDraw/App/DrawViewBalloon.cpp | 9 +- src/Mod/TechDraw/App/DrawViewDetail.cpp | 9 +- src/Mod/TechDraw/App/DrawViewDimension.cpp | 9 +- src/Mod/TechDraw/App/DrawViewPart.cpp | 1 + src/Mod/TechDraw/App/DrawViewSection.cpp | 1 + src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp | 8 +- src/Mod/TechDraw/App/LineGroup.cpp | 16 +- src/Mod/TechDraw/App/Preferences.cpp | 212 ++++++++++++++++++ src/Mod/TechDraw/App/Preferences.h | 75 +++++++ src/Mod/TechDraw/Gui/CMakeLists.txt | 2 + src/Mod/TechDraw/Gui/Command.cpp | 18 +- .../Gui/DlgPrefsTechDrawAnnotation.ui | 4 +- .../Gui/DlgPrefsTechDrawAnnotationImp.cpp | 7 +- .../TechDraw/Gui/DlgPrefsTechDrawColors.ui | 48 +++- .../Gui/DlgPrefsTechDrawDimensionsImp.cpp | 18 +- .../TechDraw/Gui/DlgPrefsTechDrawGeneral.ui | 15 +- .../Gui/DlgPrefsTechDrawGeneralImp.cpp | 17 +- src/Mod/TechDraw/Gui/PreferencesGui.cpp | 207 +++++++++++++++++ src/Mod/TechDraw/Gui/PreferencesGui.h | 69 ++++++ src/Mod/TechDraw/Gui/QGCustomText.cpp | 19 +- src/Mod/TechDraw/Gui/QGEPath.cpp | 6 +- src/Mod/TechDraw/Gui/QGIArrow.cpp | 12 +- src/Mod/TechDraw/Gui/QGICenterLine.cpp | 6 +- src/Mod/TechDraw/Gui/QGIDecoration.cpp | 26 +-- src/Mod/TechDraw/Gui/QGIDimLines.cpp | 7 +- src/Mod/TechDraw/Gui/QGIEdge.cpp | 9 +- src/Mod/TechDraw/Gui/QGIGhostHighlight.cpp | 4 +- src/Mod/TechDraw/Gui/QGIHighlight.cpp | 17 +- src/Mod/TechDraw/Gui/QGILeaderLine.cpp | 16 +- src/Mod/TechDraw/Gui/QGIMatting.cpp | 6 +- src/Mod/TechDraw/Gui/QGIPrimPath.cpp | 17 +- src/Mod/TechDraw/Gui/QGIRichAnno.cpp | 15 +- src/Mod/TechDraw/Gui/QGISectionLine.cpp | 12 +- src/Mod/TechDraw/Gui/QGITile.cpp | 18 +- src/Mod/TechDraw/Gui/QGIVertex.cpp | 8 +- src/Mod/TechDraw/Gui/QGIView.cpp | 45 ++-- src/Mod/TechDraw/Gui/QGIViewBalloon.cpp | 18 +- src/Mod/TechDraw/Gui/QGIViewDimension.cpp | 18 +- src/Mod/TechDraw/Gui/QGIViewPart.cpp | 22 +- src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp | 25 +-- src/Mod/TechDraw/Gui/TaskCenterLine.cpp | 10 +- src/Mod/TechDraw/Gui/TaskLeaderLine.cpp | 19 +- src/Mod/TechDraw/Gui/TaskRichAnno.cpp | 13 +- src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp | 16 +- src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp | 28 +-- .../TechDraw/Gui/ViewProviderDimension.cpp | 37 ++- .../TechDraw/Gui/ViewProviderGeomHatch.cpp | 7 +- src/Mod/TechDraw/Gui/ViewProviderLeader.cpp | 13 +- src/Mod/TechDraw/Gui/ViewProviderPage.cpp | 7 +- src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp | 28 +-- src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp | 18 +- .../TechDraw/Gui/ViewProviderViewSection.cpp | 5 +- src/Mod/TechDraw/Gui/ViewProviderWeld.cpp | 15 +- src/Mod/TechDraw/Gui/mrichtextedit.cpp | 16 +- 61 files changed, 881 insertions(+), 501 deletions(-) create mode 100644 src/Mod/TechDraw/App/Preferences.cpp create mode 100644 src/Mod/TechDraw/App/Preferences.h create mode 100644 src/Mod/TechDraw/Gui/PreferencesGui.cpp create mode 100644 src/Mod/TechDraw/Gui/PreferencesGui.h diff --git a/src/Mod/TechDraw/App/CMakeLists.txt b/src/Mod/TechDraw/App/CMakeLists.txt index e317ec8a9d..5df6d59b72 100644 --- a/src/Mod/TechDraw/App/CMakeLists.txt +++ b/src/Mod/TechDraw/App/CMakeLists.txt @@ -155,6 +155,8 @@ SET(TechDraw_SRCS LineGroup.h ArrowPropEnum.cpp ArrowPropEnum.h + Preferences.cpp + Preferences.h ) SET(Geometry_SRCS diff --git a/src/Mod/TechDraw/App/Cosmetic.cpp b/src/Mod/TechDraw/App/Cosmetic.cpp index f71fb3cb33..903793b990 100644 --- a/src/Mod/TechDraw/App/Cosmetic.cpp +++ b/src/Mod/TechDraw/App/Cosmetic.cpp @@ -54,6 +54,7 @@ #include #include "DrawUtil.h" +#include "Preferences.h" #include "GeometryObject.h" #include "Geometry.h" #include "DrawViewPart.h" @@ -105,9 +106,7 @@ std::string LineFormat::toString(void) const //static preference getters. double LineFormat::getDefEdgeWidth() { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double width = lg->getWeight("Graphic"); @@ -117,11 +116,7 @@ double LineFormat::getDefEdgeWidth() App::Color LineFormat::getDefEdgeColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000)); //black - return fcColor; + return Preferences::normalColor(); } int LineFormat::getDefEdgeStyle() @@ -139,14 +134,9 @@ TYPESYSTEM_SOURCE(TechDraw::CosmeticVertex, Base::Persistence) CosmeticVertex::CosmeticVertex() : TechDraw::Vertex() { point(Base::Vector3d(0.0, 0.0, 0.0)); - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("VertexColor", 0x00000000)); - permaPoint = Base::Vector3d(0.0, 0.0, 0.0); linkGeom = -1; - color = fcColor; + color = Preferences::vertexColor(); size = 3.0; style = 1; visible = true; @@ -172,14 +162,9 @@ CosmeticVertex::CosmeticVertex(const TechDraw::CosmeticVertex* cv) : TechDraw::V CosmeticVertex::CosmeticVertex(Base::Vector3d loc) : TechDraw::Vertex(loc) { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("VertexColor", 0xff000000)); - permaPoint = loc; linkGeom = -1; - color = fcColor; + color = Preferences::vertexColor(); //TODO: size = hGrp->getFloat("VertexSize",30.0); size = 30.0; style = 1; //TODO: implement styled vertexes diff --git a/src/Mod/TechDraw/App/DrawPage.cpp b/src/Mod/TechDraw/App/DrawPage.cpp index 116f68eb1d..6e12e07386 100644 --- a/src/Mod/TechDraw/App/DrawPage.cpp +++ b/src/Mod/TechDraw/App/DrawPage.cpp @@ -51,6 +51,7 @@ #include "DrawViewDimension.h" #include "DrawViewBalloon.h" #include "DrawLeaderLine.h" +#include "Preferences.h" #include // generated from DrawPagePy.xml @@ -77,12 +78,9 @@ DrawPage::DrawPage(void) static const char *group = "Page"; nowUnsetting = false; forceRedraw(false); - - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); - bool autoUpdate = hGrp->GetBool("KeepPagesUpToDate", true); //this is the default value for new pages! - ADD_PROPERTY_TYPE(KeepUpdated, (autoUpdate), group, (App::PropertyType)(App::Prop_Output), "Keep page in sync with model"); + ADD_PROPERTY_TYPE(KeepUpdated, (Preferences::keepPagesUpToDate()), + group, (App::PropertyType)(App::Prop_Output), "Keep page in sync with model"); ADD_PROPERTY_TYPE(Template, (0), group, (App::PropertyType)(App::Prop_None), "Attached Template"); Template.setScope(App::LinkScope::Global); ADD_PROPERTY_TYPE(Views, (0), group, (App::PropertyType)(App::Prop_None), "Attached Views"); @@ -90,25 +88,18 @@ DrawPage::DrawPage(void) // Projection Properties ProjectionType.setEnums(ProjectionTypeEnums); + ADD_PROPERTY(ProjectionType, ((long)Preferences::projectionAngle())); - hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/General"); + double defScale = hGrp->GetFloat("DefaultScale",1.0); + ADD_PROPERTY_TYPE(Scale, (defScale), group, (App::PropertyType)(App::Prop_None), "Scale factor for this Page"); - // In preferences, 0 -> First Angle 1 -> Third Angle - int projType = hGrp->GetInt("ProjectionAngle", -1); - - if (projType == -1) { - ADD_PROPERTY(ProjectionType, ((long)0)); // Default to first angle - } else { - ADD_PROPERTY(ProjectionType, ((long)projType)); - } - - ADD_PROPERTY_TYPE(Scale, (1.0), group, (App::PropertyType)(App::Prop_None), "Scale factor for this Page"); ADD_PROPERTY_TYPE(NextBalloonIndex, (1), group, (App::PropertyType)(App::Prop_None), "Auto-numbering for Balloons"); Scale.setConstraints(&scaleRange); - double defScale = hGrp->GetFloat("DefaultScale",1.0); - Scale.setValue(defScale); balloonPlacing = false; } diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index 6724e6cc85..149b5978d6 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -46,6 +46,7 @@ #include #include "DrawUtil.h" +#include "Preferences.h" #include "DrawPage.h" #include "DrawProjGroupItem.h" #include "DrawProjGroup.h" @@ -1250,10 +1251,7 @@ std::vector DrawProjGroup::getViewsAsDPGI() int DrawProjGroup::getDefProjConv(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); - int defProjConv = hGrp->GetInt("ProjectionAngle",0); - return defProjConv; + return Preferences::projectionAngle(); } /*! diff --git a/src/Mod/TechDraw/App/DrawUtil.cpp b/src/Mod/TechDraw/App/DrawUtil.cpp index 27908dbcca..8790bc9283 100644 --- a/src/Mod/TechDraw/App/DrawUtil.cpp +++ b/src/Mod/TechDraw/App/DrawUtil.cpp @@ -73,6 +73,7 @@ #include #include +#include "Preferences.h" #include "GeometryObject.h" #include "DrawUtil.h" @@ -499,9 +500,8 @@ double DrawUtil::sensibleScale(double working_scale) double DrawUtil::getDefaultLineWeight(std::string lineType) { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); + auto lg = LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight(lineType); diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 873e934a98..290515550a 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -45,6 +45,7 @@ #include "DrawProjGroup.h" #include "DrawProjGroupItem.h" #include "DrawLeaderLine.h" +#include "Preferences.h" #include "DrawUtil.h" #include "Geometry.h" #include "Cosmetic.h" diff --git a/src/Mod/TechDraw/App/DrawViewAnnotation.cpp b/src/Mod/TechDraw/App/DrawViewAnnotation.cpp index 0f58ce6987..6e194d37e2 100644 --- a/src/Mod/TechDraw/App/DrawViewAnnotation.cpp +++ b/src/Mod/TechDraw/App/DrawViewAnnotation.cpp @@ -36,6 +36,7 @@ #include #include +#include "Preferences.h" #include "DrawViewAnnotation.h" using namespace TechDraw; @@ -58,15 +59,12 @@ DrawViewAnnotation::DrawViewAnnotation(void) { static const char *vgroup = "Annotation"; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - double defFontSize = hGrp->GetFloat("LabelSize", 5.0); - ADD_PROPERTY_TYPE(Text ,("Default Text"),vgroup,App::Prop_None,"Annotation text"); - ADD_PROPERTY_TYPE(Font ,(fontName.c_str()),vgroup,App::Prop_None, "Font name"); + ADD_PROPERTY_TYPE(Font ,(Preferences::labelFont().c_str()), + vgroup,App::Prop_None, "Font name"); ADD_PROPERTY_TYPE(TextColor,(0.0f,0.0f,0.0f),vgroup,App::Prop_None,"Text color"); - ADD_PROPERTY_TYPE(TextSize,(defFontSize),vgroup,App::Prop_None,"Text size"); + ADD_PROPERTY_TYPE(TextSize, (Preferences::labelFontSizeMM()), + vgroup,App::Prop_None,"Text size"); ADD_PROPERTY_TYPE(MaxWidth,(-1.0),vgroup,App::Prop_None,"Maximum width of the annotation block.\n -1 means no maximum width."); ADD_PROPERTY_TYPE(LineSpace,(80),vgroup,App::Prop_None,"Line spacing in %. 100 means the height of a line."); diff --git a/src/Mod/TechDraw/App/DrawViewBalloon.cpp b/src/Mod/TechDraw/App/DrawViewBalloon.cpp index 9cdd1aead1..710f916c5f 100644 --- a/src/Mod/TechDraw/App/DrawViewBalloon.cpp +++ b/src/Mod/TechDraw/App/DrawViewBalloon.cpp @@ -50,6 +50,7 @@ #include +#include "Preferences.h" #include "Geometry.h" #include "DrawViewPart.h" #include "DrawViewBalloon.h" @@ -273,12 +274,8 @@ int DrawViewBalloon::prefShape(void) const } int DrawViewBalloon::prefEnd(void) const -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Decorations"); - int end = hGrp->GetInt("BalloonArrow", 1); - return end; +{ + return Preferences::balloonArrow(); } Base::Vector3d DrawViewBalloon::getOriginOffset() const diff --git a/src/Mod/TechDraw/App/DrawViewDetail.cpp b/src/Mod/TechDraw/App/DrawViewDetail.cpp index 8a491fea4a..7bb4b1bcd0 100644 --- a/src/Mod/TechDraw/App/DrawViewDetail.cpp +++ b/src/Mod/TechDraw/App/DrawViewDetail.cpp @@ -79,6 +79,7 @@ #include #include +#include "Preferences.h" #include "Geometry.h" #include "GeometryObject.h" #include "Cosmetic.h" @@ -446,14 +447,6 @@ void DrawViewDetail::unsetupObject() void DrawViewDetail::getParameters() { -// what parameters are useful? -// handleFaces -// radiusFudge? - -// Base::Reference hGrp = App::GetApplication().GetUserParameter() -// .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw"); -// m_mattingStyle = hGrp->GetInt("MattingStyle", 0); - } // Python Drawing feature --------------------------------------------------------- diff --git a/src/Mod/TechDraw/App/DrawViewDimension.cpp b/src/Mod/TechDraw/App/DrawViewDimension.cpp index 87ae7abc91..83707b15be 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.cpp +++ b/src/Mod/TechDraw/App/DrawViewDimension.cpp @@ -51,6 +51,7 @@ #include +#include "Preferences.h" #include "Geometry.h" #include "DrawViewPart.h" #include "DrawViewDimension.h" @@ -1164,12 +1165,8 @@ bool DrawViewDimension::showUnits() const } bool DrawViewDimension::useDecimals() const -{ - bool result = false; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - result = hGrp->GetBool("UseGlobalDecimals", true); - return result; +{ + return Preferences::useGlobalDecimals(); } std::string DrawViewDimension::getPrefix() const diff --git a/src/Mod/TechDraw/App/DrawViewPart.cpp b/src/Mod/TechDraw/App/DrawViewPart.cpp index 09e791ad7c..b7453cc70e 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.cpp +++ b/src/Mod/TechDraw/App/DrawViewPart.cpp @@ -92,6 +92,7 @@ #include #include +#include "Preferences.h" #include "Cosmetic.h" #include "DrawGeomHatch.h" #include "DrawHatch.h" diff --git a/src/Mod/TechDraw/App/DrawViewSection.cpp b/src/Mod/TechDraw/App/DrawViewSection.cpp index 0d76ef8ec9..f83edbe585 100644 --- a/src/Mod/TechDraw/App/DrawViewSection.cpp +++ b/src/Mod/TechDraw/App/DrawViewSection.cpp @@ -78,6 +78,7 @@ #include +#include "Preferences.h" #include "Geometry.h" #include "GeometryObject.h" #include "Cosmetic.h" diff --git a/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp b/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp index b661f2ac0d..211fd44751 100644 --- a/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp +++ b/src/Mod/TechDraw/App/DrawViewSpreadsheet.cpp @@ -39,6 +39,7 @@ #include #include +#include "Preferences.h" #include "DrawViewSpreadsheet.h" #include @@ -58,15 +59,12 @@ DrawViewSpreadsheet::DrawViewSpreadsheet(void) { static const char *vgroup = "Spreadsheet"; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - ADD_PROPERTY_TYPE(Source ,(0),vgroup,App::Prop_None,"Spreadsheet to view"); Source.setScope(App::LinkScope::Global); ADD_PROPERTY_TYPE(CellStart ,("A1"),vgroup,App::Prop_None,"The top left cell of the range to display"); ADD_PROPERTY_TYPE(CellEnd ,("B2"),vgroup,App::Prop_None,"The bottom right cell of the range to display"); - ADD_PROPERTY_TYPE(Font ,((fontName.c_str())),vgroup,App::Prop_None,"The name of the font to use"); + ADD_PROPERTY_TYPE(Font ,(Preferences::labelFont().c_str()), + vgroup,App::Prop_None,"The name of the font to use"); ADD_PROPERTY_TYPE(TextColor,(0.0f,0.0f,0.0f),vgroup,App::Prop_None,"The default color of the text and lines"); ADD_PROPERTY_TYPE(TextSize,(12.0),vgroup,App::Prop_None,"The size of the text"); ADD_PROPERTY_TYPE(LineWidth,(0.35),vgroup,App::Prop_None,"The thickness of the cell lines"); diff --git a/src/Mod/TechDraw/App/LineGroup.cpp b/src/Mod/TechDraw/App/LineGroup.cpp index a1530a75e3..039ec6d733 100644 --- a/src/Mod/TechDraw/App/LineGroup.cpp +++ b/src/Mod/TechDraw/App/LineGroup.cpp @@ -32,6 +32,7 @@ #include #include +#include "Preferences.h" #include "LineGroup.h" using namespace TechDraw; @@ -173,16 +174,7 @@ LineGroup* LineGroup::lineGroupFactory(std::string groupName) { LineGroup* lg = new LineGroup(groupName); - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); - - std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/LineGroup/"; - std::string defaultFileName = defaultDir + "LineGroup.csv"; - - std::string lgFileName = hGrp->GetASCII("LineGroupFile",defaultFileName.c_str()); - if (lgFileName.empty()) { - lgFileName = defaultFileName; - } + std::string lgFileName = Preferences::lineGroupFile(); std::string lgRecord = LineGroup::getRecordFromFile(lgFileName, groupName); @@ -202,11 +194,9 @@ LineGroup* LineGroup::lineGroupFactory(std::string groupName) double LineGroup::getDefaultWidth(std::string weightName, std::string groupName) { //default line weights - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); std::string lgName = groupName; if (groupName.empty()) { - lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + lgName = Preferences::lineGroup(); } auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); diff --git a/src/Mod/TechDraw/App/Preferences.cpp b/src/Mod/TechDraw/App/Preferences.cpp new file mode 100644 index 0000000000..6f5fb09353 --- /dev/null +++ b/src/Mod/TechDraw/App/Preferences.cpp @@ -0,0 +1,212 @@ +/*************************************************************************** + * Copyright (c) 2020 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#include "PreCompiled.h" + +#ifndef _PreComp_ +#include +#include +//#include +//#include +#endif + +#include +#include +#include +#include +#include +#include + +#include "Preferences.h" + +//getters for parameters used in multiple places. +//ensure this is in sync with preference page uis + +using namespace TechDraw; + +const double Preferences::DefaultFontSizeInMM = 5.0; + +std::string Preferences::labelFont() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Labels"); + std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); + return fontName; +} + +QString Preferences::labelFontQString() +{ + std::string fontName = labelFont(); + return QString::fromStdString(fontName); +} + +double Preferences::labelFontSizeMM() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Labels"); + return hGrp->GetFloat("LabelSize", DefaultFontSizeInMM); +} + +double Preferences::dimFontSizeMM() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Dimensions"); + return hGrp->GetFloat("FontSize", DefaultFontSizeInMM); +} + +App::Color Preferences::normalColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Colors"); + App::Color fcColor; + fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x000000FF)); //#000000 black + return fcColor; +} + +App::Color Preferences::selectColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("View"); + unsigned int defColor = hGrp->GetUnsigned("SelectionColor", 0x00FF00FF); //#00FF00 lime + + hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Colors"); + App::Color fcColor; + fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", defColor)); + return fcColor; +} + +App::Color Preferences::preselectColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("View"); + unsigned int defColor = hGrp->GetUnsigned("HighlightColor", 0xFFFF00FF); //#FFFF00 yellow + + hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Colors"); + App::Color fcColor; + fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", defColor)); + return fcColor; +} + +App::Color Preferences::vertexColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Decorations"); + App::Color fcColor; + fcColor.setPackedValue(hGrp->GetUnsigned("VertexColor", 0x000000FF)); //#000000 black + return fcColor; +} + + +//lightgray #D3D3D3 + +bool Preferences::keepPagesUpToDate() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/General"); + bool autoUpdate = hGrp->GetBool("KeepPagesUpToDate", true); + return autoUpdate; +} + +bool Preferences::useGlobalDecimals() +{ + bool result = false; + Base::Reference hGrp = App::GetApplication(). + GetUserParameter().GetGroup("BaseApp")-> + GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); + result = hGrp->GetBool("UseGlobalDecimals", true); + return result; +} + +int Preferences::projectionAngle() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/General"); + int projType = hGrp->GetInt("ProjectionAngle", 0); //First Angle + return projType; +} + +std::string Preferences::lineGroup() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Decorations"); + std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + return lgName; +} + +int Preferences::balloonArrow() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Decorations"); + int end = hGrp->GetInt("BalloonArrow", 0); + return end; +} + +QString Preferences::defaultTemplate() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Files"); + std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates/"; + std::string defaultFileName = defaultDir + "A4_LandscapeTD.svg"; + QString templateFileName = QString::fromStdString(hGrp->GetASCII("TemplateFile",defaultFileName.c_str())); + if (templateFileName.isEmpty()) { + templateFileName = QString::fromStdString(defaultFileName); + } + return templateFileName; +} + +QString Preferences::defaultTemplateDir() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter() + .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); + + std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates"; + QString templateDir = QString::fromStdString(hGrp->GetASCII("TemplateDir", defaultDir.c_str())); + return templateDir; +} + +std::string Preferences::lineGroupFile() +{ + Base::Reference hGrp = App::GetApplication(). + GetUserParameter().GetGroup("BaseApp")-> + GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); + std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/LineGroup/"; + std::string defaultFileName = defaultDir + "LineGroup.csv"; + + std::string lgFileName = hGrp->GetASCII("LineGroupFile",defaultFileName.c_str()); + return lgFileName; +} diff --git a/src/Mod/TechDraw/App/Preferences.h b/src/Mod/TechDraw/App/Preferences.h new file mode 100644 index 0000000000..ff1e9d3ddb --- /dev/null +++ b/src/Mod/TechDraw/App/Preferences.h @@ -0,0 +1,75 @@ +/*************************************************************************** + * Copyright (c) 2020 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#ifndef _Preferences_h_ +#define _Preferences_h_ + +#include + +//#include +//#include + +//class QFont; +class QString; +//class QColor; + +namespace App +{ +class Color; +} + +namespace TechDraw +{ + +//getters for parameters used in multiple places. +class TechDrawExport Preferences { + +public: +static std::string labelFont(); +static QString labelFontQString(); +static double labelFontSizeMM(); +static double dimFontSizeMM(); + +static App::Color normalColor(); +static App::Color selectColor(); +static App::Color preselectColor(); +static App::Color vertexColor(); + +static bool useGlobalDecimals(); +static bool keepPagesUpToDate(); + +static int projectionAngle(); +static std::string lineGroup(); + +static int balloonArrow(); + +static QString defaultTemplate(); +static QString defaultTemplateDir(); +static std::string lineGroupFile(); + + + +static const double DefaultFontSizeInMM; +}; + +} //end namespace TechDraw +#endif diff --git a/src/Mod/TechDraw/Gui/CMakeLists.txt b/src/Mod/TechDraw/Gui/CMakeLists.txt index d7fc068f09..b48f31d31b 100644 --- a/src/Mod/TechDraw/Gui/CMakeLists.txt +++ b/src/Mod/TechDraw/Gui/CMakeLists.txt @@ -219,6 +219,8 @@ SET(TechDrawGui_SRCS TaskDetail.ui TaskDetail.cpp TaskDetail.h + PreferencesGui.cpp + PreferencesGui.h ) SET(TechDrawGuiView_SRCS diff --git a/src/Mod/TechDraw/Gui/Command.cpp b/src/Mod/TechDraw/Gui/Command.cpp index 7a82f0210f..360f9f3654 100644 --- a/src/Mod/TechDraw/Gui/Command.cpp +++ b/src/Mod/TechDraw/Gui/Command.cpp @@ -77,6 +77,7 @@ #include #include "DrawGuiUtil.h" +#include "PreferencesGui.h" #include "MDIViewPage.h" #include "TaskProjGroup.h" #include "TaskSectionView.h" @@ -85,9 +86,9 @@ #include "ViewProviderPage.h" using namespace TechDrawGui; +using namespace TechDraw; using namespace std; - //=========================================================================== // TechDraw_PageDefault //=========================================================================== @@ -109,15 +110,8 @@ CmdTechDrawPageDefault::CmdTechDrawPageDefault() void CmdTechDrawPageDefault::activated(int iMsg) { Q_UNUSED(iMsg); - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); - std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates/"; - std::string defaultFileName = defaultDir + "A4_LandscapeTD.svg"; - QString templateFileName = QString::fromStdString(hGrp->GetASCII("TemplateFile",defaultFileName.c_str())); - if (templateFileName.isEmpty()) { - templateFileName = QString::fromStdString(defaultFileName); - } + QString templateFileName = Preferences::defaultTemplate(); std::string PageName = getUniqueObjectName("Page"); std::string TemplateName = getUniqueObjectName("Template"); @@ -179,11 +173,7 @@ CmdTechDrawPageTemplate::CmdTechDrawPageTemplate() void CmdTechDrawPageTemplate::activated(int iMsg) { Q_UNUSED(iMsg); - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); - - std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates"; - QString templateDir = QString::fromStdString(hGrp->GetASCII("TemplateDir", defaultDir.c_str())); + QString templateDir = Preferences::defaultTemplateDir(); QString templateFileName = Gui::FileDialog::getOpenFileName(Gui::getMainWindow(), QString::fromUtf8(QT_TR_NOOP("Select a Template File")), templateDir, diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotation.ui b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotation.ui index 088c917a31..bc031db3f1 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotation.ui +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotation.ui @@ -7,7 +7,7 @@ 0 0 460 - 460 + 478 @@ -221,7 +221,7 @@ AutoHorizontal - Mod/TechDraw/LeaderLines + Mod/TechDraw/LeaderLine diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotationImp.cpp b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotationImp.cpp index 22eb09e6d3..0551e39785 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotationImp.cpp +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawAnnotationImp.cpp @@ -31,6 +31,7 @@ #include #include "DrawGuiUtil.h" +#include "PreferencesGui.h" #include "DlgPrefsTechDrawAnnotationImp.h" @@ -113,11 +114,7 @@ void DlgPrefsTechDrawAnnotationImp::changeEvent(QEvent *e) int DlgPrefsTechDrawAnnotationImp::prefBalloonArrow(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Decorations"); - int end = hGrp->GetInt("BalloonArrow", 0); - return end; + return Preferences::balloonArrow(); } #include diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawColors.ui b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawColors.ui index 80b91a87d6..856a2b3311 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawColors.ui +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawColors.ui @@ -117,6 +117,13 @@ Hidden line color + + + 0 + 0 + 0 + + HiddenColor @@ -146,7 +153,7 @@ 255 255 - 20 + 0 @@ -176,9 +183,9 @@ - 225 - 225 - 225 + 211 + 211 + 211 @@ -208,9 +215,9 @@ - 28 - 173 - 28 + 0 + 255 + 0 @@ -233,6 +240,13 @@ Section line color + + + 0 + 0 + 0 + + SectionColor @@ -260,9 +274,9 @@ - 80 - 80 - 80 + 211 + 211 + 211 @@ -376,6 +390,13 @@ Centerline color + + + 0 + 0 + 0 + + CenterColor @@ -396,6 +417,13 @@ Color of vertices in views + + + 0 + 0 + 0 + + VertexColor diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp index bb35d48211..d5ce4a6d93 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp @@ -31,6 +31,7 @@ #include #include "DrawGuiUtil.h" +#include "PreferencesGui.h" #include "DlgPrefsTechDrawDimensionsImp.h" @@ -72,10 +73,11 @@ void DlgPrefsTechDrawDimensionsImp::loadSettings() //set defaults for Quantity widgets if property not found //Quantity widgets do not use preset value since they are based on //QAbstractSpinBox - double arrowDefault = 5.0; - plsb_ArrowSize->setValue(arrowDefault); - double fontDefault = 4.0; + double fontDefault = Preferences::dimFontSizeMM(); plsb_FontSize->setValue(fontDefault); +// double arrowDefault = 5.0; +// plsb_ArrowSize->setValue(arrowDefault); + plsb_ArrowSize->setValue(fontDefault); cbGlobalDecimals->onRestore(); cbHiddenLineStyle->onRestore(); @@ -107,13 +109,9 @@ void DlgPrefsTechDrawDimensionsImp::changeEvent(QEvent *e) } } -int DlgPrefsTechDrawDimensionsImp::prefArrowStyle(void) const -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Dimensions"); - int style = hGrp->GetInt("ArrowStyle", 0); - return style; +int DlgPrefsTechDrawDimensionsImp::prefArrowStyle(void) const +{ + return PreferencesGui::dimArrowStyle(); } #include diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui index d4504a266a..8d853fb66a 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneral.ui @@ -6,8 +6,8 @@ 0 0 - 460 - 510 + 496 + 531 @@ -277,7 +277,10 @@ for ProjectionGroups Font for labels - + + osifont + 10 + LabelFont @@ -616,6 +619,12 @@ for ProjectionGroups Name of the default PAT pattern + + Diamond + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + NamePattern diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneralImp.cpp b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneralImp.cpp index 52d4bc053b..464138c74d 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneralImp.cpp +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawGeneralImp.cpp @@ -25,10 +25,15 @@ #include "PreCompiled.h" +#include +#include + #include "DlgPrefsTechDrawGeneralImp.h" #include +#include "PreferencesGui.h" using namespace TechDrawGui; +using namespace TechDraw; DlgPrefsTechDrawGeneralImp::DlgPrefsTechDrawGeneralImp( QWidget* parent ) : PreferencePage( parent ) @@ -64,8 +69,18 @@ void DlgPrefsTechDrawGeneralImp::saveSettings() void DlgPrefsTechDrawGeneralImp::loadSettings() { - double labelDefault = 8.0; +// double labelDefault = 8.0; + double labelDefault = Preferences::labelFontSizeMM(); plsb_LabelSize->setValue(labelDefault); + pfb_LabelFont->setCurrentText(Preferences::labelFontQString()); + + + pfc_DefTemp->setFileName(Preferences::defaultTemplate()); + pfc_DefDir->setFileName(Preferences::defaultTemplateDir()); + pfc_HatchFile->setFileName(QString::fromStdString(DrawHatch::prefSvgHatch())); + pfc_FilePattern->setFileName(QString::fromStdString(DrawGeomHatch::prefGeomHatchFile())); + pfc_Welding->setFileName(PreferencesGui::weldingDirectory()); + pfc_LineGroup->setFileName(QString::fromUtf8(Preferences::lineGroupFile().c_str())); pfc_DefTemp->onRestore(); pfc_DefDir->onRestore(); diff --git a/src/Mod/TechDraw/Gui/PreferencesGui.cpp b/src/Mod/TechDraw/Gui/PreferencesGui.cpp new file mode 100644 index 0000000000..7ef0388c2e --- /dev/null +++ b/src/Mod/TechDraw/Gui/PreferencesGui.cpp @@ -0,0 +1,207 @@ +/*************************************************************************** + * Copyright (c) 2020 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#include "PreCompiled.h" + +#ifndef _PreComp_ +#include +#include +#include +#include +#include +#endif + +#include +#include +#include +#include +#include +#include + +#include "Rez.h" +#include "PreferencesGui.h" + +//getters for parameters used in multiple places. +//ensure this is in sync with preference page uis + +using namespace TechDrawGui; +using namespace TechDraw; + +QFont PreferencesGui::labelFontQFont() +{ + QString name = Preferences::labelFontQString(); + QFont f(name); + return f; +} + +int PreferencesGui::labelFontSizePX() +{ + return (int) (Rez::guiX(Preferences::labelFontSizeMM()) + 0.5); +} + +int PreferencesGui::dimFontSizePX() +{ + return (int) (Rez::guiX(Preferences::dimFontSizeMM()) + 0.5); +} + +QColor PreferencesGui::normalQColor() +{ + App::Color fcColor = Preferences::normalColor(); + return fcColor.asValue(); +} + +QColor PreferencesGui::selectQColor() +{ + App::Color fcColor = Preferences::selectColor(); + return fcColor.asValue(); +} + +QColor PreferencesGui::preselectQColor() +{ + App::Color fcColor = Preferences::preselectColor(); + return fcColor.asValue(); +} + +App::Color PreferencesGui::sectionLineColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter() + .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); + App::Color fcColor; + fcColor.setPackedValue(hGrp->GetUnsigned("SectionColor", 0x000000FF)); + return fcColor; +} + +QColor PreferencesGui::sectionLineQColor() +{ + return sectionLineColor().asValue(); +} + +App::Color PreferencesGui::centerColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Decorations"); + App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("CenterColor", 0x000000FF)); + return fcColor; +} + +QColor PreferencesGui::centerQColor() +{ + return centerColor().asValue(); +} + +QColor PreferencesGui::vertexQColor() +{ + return Preferences::vertexColor().asValue(); +} + +App::Color PreferencesGui::dimColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Dimensions"); + App::Color result; + result.setPackedValue(hGrp->GetUnsigned("Color", 0x000000FF)); //#000000 black + return result; +} + +QColor PreferencesGui::dimQColor() +{ + return PreferencesGui::dimColor().asValue(); +} + + +App::Color PreferencesGui::leaderColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/LeaderLine"); + App::Color result; + result.setPackedValue(hGrp->GetUnsigned("Color", 0x000000FF)); //#000000 black + return result; +} + +QColor PreferencesGui::leaderQColor() +{ + return PreferencesGui::leaderColor().asValue(); +} + +int PreferencesGui::dimArrowStyle() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Dimensions"); + int style = hGrp->GetInt("ArrowStyle", 0); + return style; +} + +double PreferencesGui::dimArrowSize() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Dimensions"); + double size = hGrp->GetFloat("ArrowSize", Preferences::dimFontSizeMM()); + return size; +} + + +double PreferencesGui::edgeFuzz() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/General"); + double result = hGrp->GetFloat("EdgeFuzz",10.0); + return result; +} + +Qt::PenStyle PreferencesGui::sectionLineStyle() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Decorations"); + Qt::PenStyle sectStyle = static_cast (hGrp->GetInt("SectionLine", 2)); + return sectStyle; +} + + +int PreferencesGui::mattingStyle() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Decorations"); + int style = hGrp->GetInt("MattingStyle", 0); + return style; +} + +//lightgray #D3D3D3 + +QString PreferencesGui::weldingDirectory() +{ + std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Symbols/Welding/AWS/"; + Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> + GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); + + std::string symbolDir = hGrp->GetASCII("WeldingDir", defaultDir.c_str()); + QString qSymbolDir = QString::fromUtf8(symbolDir.c_str()); + return qSymbolDir; +} + diff --git a/src/Mod/TechDraw/Gui/PreferencesGui.h b/src/Mod/TechDraw/Gui/PreferencesGui.h new file mode 100644 index 0000000000..51848218a7 --- /dev/null +++ b/src/Mod/TechDraw/Gui/PreferencesGui.h @@ -0,0 +1,69 @@ +/*************************************************************************** + * Copyright (c) 2020 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#ifndef _PreferencesGui_h_ +#define _PreferencesGui_h_ + +class QFont; +class QString; +class QColor; + +#include + +namespace TechDrawGui +{ + +//getters for parameters used in multiple places. +class TechDrawGuiExport PreferencesGui { + +public: +static QFont labelFontQFont(); +static int labelFontSizePX(); +static int dimFontSizePX(); + +static QColor normalQColor(); +static QColor selectQColor(); +static QColor preselectQColor(); +static App::Color sectionLineColor(); +static QColor sectionLineQColor(); +static App::Color centerColor(); +static QColor centerQColor(); +static QColor vertexQColor(); +static App::Color leaderColor(); +static QColor leaderQColor(); +static App::Color dimColor(); +static QColor dimQColor(); + +static int dimArrowStyle(); +static double dimArrowSize(); + +static double edgeFuzz(); + +static Qt::PenStyle sectionLineStyle(); +static int mattingStyle(); + +static QString weldingDirectory(); + +}; + +} //end namespace TechDrawGui +#endif diff --git a/src/Mod/TechDraw/Gui/QGCustomText.cpp b/src/Mod/TechDraw/Gui/QGCustomText.cpp index aed63cfa83..091ff00551 100644 --- a/src/Mod/TechDraw/Gui/QGCustomText.cpp +++ b/src/Mod/TechDraw/Gui/QGCustomText.cpp @@ -45,6 +45,7 @@ #include "DrawGuiUtil.h" #include "QGICMark.h" #include "QGIView.h" +#include "PreferencesGui.h" #include "QGCustomText.h" using namespace TechDrawGui; @@ -186,29 +187,17 @@ void QGCustomText::paint ( QPainter * painter, const QStyleOptionGraphicsItem * QColor QGCustomText::getNormalColor() //preference! { -// Base::Console().Message("QGCT::getNormalColor() - pref\n"); - QColor result; - Base::Reference hGrp = getParmGroup(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000)); - result = fcColor.asValue(); - return result; + return PreferencesGui::normalQColor(); } QColor QGCustomText::getPreColor() { - Base::Reference hGrp = getParmGroup(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000)); - return fcColor.asValue(); + return PreferencesGui::preselectQColor(); } QColor QGCustomText::getSelectColor() { - Base::Reference hGrp = getParmGroup(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000)); - return fcColor.asValue(); + return PreferencesGui::selectQColor(); } Base::Reference QGCustomText::getParmGroup() diff --git a/src/Mod/TechDraw/Gui/QGEPath.cpp b/src/Mod/TechDraw/Gui/QGEPath.cpp index 2f0cee456a..9ba9634d4c 100644 --- a/src/Mod/TechDraw/Gui/QGEPath.cpp +++ b/src/Mod/TechDraw/Gui/QGEPath.cpp @@ -39,6 +39,7 @@ #include #include "DrawGuiStd.h" +#include "PreferencesGui.h" #include "QGIPrimPath.h" #include "QGIVertex.h" #include "QGIView.h" @@ -419,10 +420,7 @@ QPainterPath QGEPath::shape() const double QGEPath::getEdgeFuzz(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); - double result = hGrp->GetFloat("EdgeFuzz",10.0); - return result; + return PreferencesGui::edgeFuzz(); } void QGEPath::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget) { diff --git a/src/Mod/TechDraw/Gui/QGIArrow.cpp b/src/Mod/TechDraw/Gui/QGIArrow.cpp index eaf93f3fec..90586ccbc3 100644 --- a/src/Mod/TechDraw/Gui/QGIArrow.cpp +++ b/src/Mod/TechDraw/Gui/QGIArrow.cpp @@ -39,6 +39,7 @@ #include #include "Rez.h" +#include "PreferencesGui.h" #include "QGIArrow.h" using namespace TechDrawGui; @@ -310,19 +311,12 @@ QPainterPath QGIArrow::makePyramid(Base::Vector3d dir, double length) int QGIArrow::getPrefArrowStyle() { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Dimensions"); - int style = hGrp->GetInt("ArrowStyle", 0); - return style; + return PreferencesGui::dimArrowStyle(); } double QGIArrow::getPrefArrowSize() { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double style = hGrp->GetFloat("ArrowSize", 3.5); - return style; + return PreferencesGui::dimArrowSize(); } double QGIArrow::getOverlapAdjust(int style, double size) diff --git a/src/Mod/TechDraw/Gui/QGICenterLine.cpp b/src/Mod/TechDraw/Gui/QGICenterLine.cpp index 2aff501a95..7ac984d540 100644 --- a/src/Mod/TechDraw/Gui/QGICenterLine.cpp +++ b/src/Mod/TechDraw/Gui/QGICenterLine.cpp @@ -33,6 +33,7 @@ #include #include +#include "PreferencesGui.h" #include "QGICenterLine.h" using namespace TechDrawGui; @@ -71,10 +72,7 @@ void QGICenterLine::setBounds(double x1,double y1,double x2,double y2) QColor QGICenterLine::getCenterColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("CenterColor", 0x00000000)); - return fcColor.asValue(); + return PreferencesGui::centerQColor(); } Qt::PenStyle QGICenterLine::getCenterStyle() diff --git a/src/Mod/TechDraw/Gui/QGIDecoration.cpp b/src/Mod/TechDraw/Gui/QGIDecoration.cpp index be44a56862..1fe22d59f6 100644 --- a/src/Mod/TechDraw/Gui/QGIDecoration.cpp +++ b/src/Mod/TechDraw/Gui/QGIDecoration.cpp @@ -37,12 +37,14 @@ #include #include "Rez.h" +#include "PreferencesGui.h" #include "ZVALUE.h" #include "DrawGuiUtil.h" #include "QGICMark.h" #include "QGIDecoration.h" using namespace TechDrawGui; +using namespace TechDraw; QGIDecoration::QGIDecoration() : m_colCurrent(Qt::black), @@ -91,35 +93,17 @@ void QGIDecoration::setColor(QColor c) QColor QGIDecoration::prefNormalColor() { - QColor result; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000)); - result = fcColor.asValue(); - return result; + return PreferencesGui::normalQColor(); } QColor QGIDecoration::prefPreColor() { - QColor result; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0x00000000)); - result = fcColor.asValue(); - return result; + return PreferencesGui::preselectQColor(); } QColor QGIDecoration::prefSelectColor() { - QColor result; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00000000)); - result = fcColor.asValue(); - return result; + return PreferencesGui::selectQColor(); } void QGIDecoration::makeMark(double x, double y) diff --git a/src/Mod/TechDraw/Gui/QGIDimLines.cpp b/src/Mod/TechDraw/Gui/QGIDimLines.cpp index e710846b7b..23a742c331 100644 --- a/src/Mod/TechDraw/Gui/QGIDimLines.cpp +++ b/src/Mod/TechDraw/Gui/QGIDimLines.cpp @@ -36,9 +36,11 @@ #include #include +#include "PreferencesGui.h" #include "QGIDimLines.h" using namespace TechDrawGui; +using namespace TechDraw; QGIDimLines::QGIDimLines() { @@ -65,10 +67,7 @@ QPainterPath QGIDimLines::shape() const double QGIDimLines::getEdgeFuzz(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); - double result = hGrp->GetFloat("EdgeFuzz",10.0); - return result; + return PreferencesGui::edgeFuzz(); } diff --git a/src/Mod/TechDraw/Gui/QGIEdge.cpp b/src/Mod/TechDraw/Gui/QGIEdge.cpp index b1e6b76d69..4891b00d2e 100644 --- a/src/Mod/TechDraw/Gui/QGIEdge.cpp +++ b/src/Mod/TechDraw/Gui/QGIEdge.cpp @@ -35,9 +35,11 @@ #include #include +#include "PreferencesGui.h" #include "QGIEdge.h" using namespace TechDrawGui; +using namespace TechDraw; QGIEdge::QGIEdge(int index) : projIndex(index), @@ -83,7 +85,7 @@ QColor QGIEdge::getHiddenColor() { Base::Reference hGrp = App::GetApplication().GetUserParameter() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("HiddenColor", 0x08080800)); + App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("HiddenColor", 0x000000FF)); return fcColor.asValue(); } @@ -99,10 +101,7 @@ Qt::PenStyle QGIEdge::getHiddenStyle() double QGIEdge::getEdgeFuzz(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); - double result = hGrp->GetFloat("EdgeFuzz",10.0); - return result; + return PreferencesGui::edgeFuzz(); } diff --git a/src/Mod/TechDraw/Gui/QGIGhostHighlight.cpp b/src/Mod/TechDraw/Gui/QGIGhostHighlight.cpp index c0ac483a4c..29436fbdb9 100644 --- a/src/Mod/TechDraw/Gui/QGIGhostHighlight.cpp +++ b/src/Mod/TechDraw/Gui/QGIGhostHighlight.cpp @@ -35,10 +35,12 @@ #include #include +//#include #include #include "Rez.h" #include "DrawGuiUtil.h" +#include "PreferencesGui.h" #include "QGIView.h" #include "QGIGhostHighlight.h" @@ -52,7 +54,7 @@ QGIGhostHighlight::QGIGhostHighlight() //make the ghost very visible QFont f(QGIView::getPrefFont()); - double fontSize = QGIView::getPrefFontSize(); + double fontSize = Preferences::labelFontSizeMM(); setFont(f, fontSize); setReference("drag"); setStyle(Qt::SolidLine); diff --git a/src/Mod/TechDraw/Gui/QGIHighlight.cpp b/src/Mod/TechDraw/Gui/QGIHighlight.cpp index 8501a8106e..0de794d231 100644 --- a/src/Mod/TechDraw/Gui/QGIHighlight.cpp +++ b/src/Mod/TechDraw/Gui/QGIHighlight.cpp @@ -37,10 +37,12 @@ #include #include "Rez.h" #include "DrawGuiUtil.h" +#include "PreferencesGui.h" #include "QGIView.h" #include "QGIHighlight.h" using namespace TechDrawGui; +using namespace TechDraw; QGIHighlight::QGIHighlight() { @@ -175,26 +177,17 @@ void QGIHighlight::setFont(QFont f, double fsize) QColor QGIHighlight::getHighlightColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("SectionColor", 0x08080800)); - return fcColor.asValue(); + return PreferencesGui::sectionLineQColor(); } Qt::PenStyle QGIHighlight::getHighlightStyle() { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw"); - Qt::PenStyle sectStyle = static_cast (hGrp->GetInt("SectionLine",2)); - return sectStyle; + return PreferencesGui::sectionLineStyle(); } int QGIHighlight::getHoleStyle() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - int style = hGrp->GetInt("MattingStyle", 0); - return style; + return PreferencesGui::mattingStyle(); } void QGIHighlight::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget) { diff --git a/src/Mod/TechDraw/Gui/QGILeaderLine.cpp b/src/Mod/TechDraw/Gui/QGILeaderLine.cpp index b01d8c375f..fd9688efa6 100644 --- a/src/Mod/TechDraw/Gui/QGILeaderLine.cpp +++ b/src/Mod/TechDraw/Gui/QGILeaderLine.cpp @@ -57,6 +57,7 @@ #include "Rez.h" #include "ZVALUE.h" +#include "PreferencesGui.h" #include "QGIArrow.h" #include "ViewProviderLeader.h" #include "MDIViewPage.h" @@ -67,9 +68,8 @@ #include "QGILeaderLine.h" -using namespace TechDraw; using namespace TechDrawGui; - +using namespace TechDraw; //************************************************************** QGILeaderLine::QGILeaderLine() : @@ -577,21 +577,13 @@ TechDraw::DrawLeaderLine* QGILeaderLine::getFeature(void) double QGILeaderLine::getEdgeFuzz(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); - double result = hGrp->GetFloat("EdgeFuzz",10.0); - return result; + return PreferencesGui::edgeFuzz(); } QColor QGILeaderLine::getNormalColor() { // Base::Console().Message("QGILL::getNormalColor()\n"); - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/LeaderLines"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - m_colNormal = fcColor.asValue(); + m_colNormal = PreferencesGui::leaderQColor(); auto lead( dynamic_cast(getViewObject()) ); if( lead == nullptr ) { diff --git a/src/Mod/TechDraw/Gui/QGIMatting.cpp b/src/Mod/TechDraw/Gui/QGIMatting.cpp index 0b1d810586..12fbc7574a 100644 --- a/src/Mod/TechDraw/Gui/QGIMatting.cpp +++ b/src/Mod/TechDraw/Gui/QGIMatting.cpp @@ -34,6 +34,7 @@ #include #include +#include "PreferencesGui.h" #include "QGCustomRect.h" #include "ZVALUE.h" #include "QGIMatting.h" @@ -103,10 +104,7 @@ void QGIMatting::draw() int QGIMatting::getHoleStyle() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - int style = hGrp->GetInt("MattingStyle", 0l); - return style; + return PreferencesGui::mattingStyle(); } //need this because QQGIG only updates BR when items added/deleted. diff --git a/src/Mod/TechDraw/Gui/QGIPrimPath.cpp b/src/Mod/TechDraw/Gui/QGIPrimPath.cpp index 67d5c0a45b..3355a13a0f 100644 --- a/src/Mod/TechDraw/Gui/QGIPrimPath.cpp +++ b/src/Mod/TechDraw/Gui/QGIPrimPath.cpp @@ -35,10 +35,12 @@ #include #include +#include "PreferencesGui.h" #include "QGIPrimPath.h" #include "QGIView.h" using namespace TechDrawGui; +using namespace TechDraw; QGIPrimPath::QGIPrimPath(): m_width(0), @@ -164,10 +166,7 @@ QColor QGIPrimPath::getNormalColor() if (parent != nullptr) { result = parent->getNormalColor(); } else { - Base::Reference hGrp = getParmGroup(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000)); - result = fcColor.asValue(); + result = PreferencesGui::normalQColor(); } return result; @@ -187,10 +186,7 @@ QColor QGIPrimPath::getPreColor() if (parent != nullptr) { result = parent->getPreColor(); } else { - Base::Reference hGrp = getParmGroup(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000)); - result = fcColor.asValue(); + result = PreferencesGui::preselectQColor(); } return result; } @@ -209,10 +205,7 @@ QColor QGIPrimPath::getSelectColor() if (parent != nullptr) { result = parent->getSelectColor(); } else { - Base::Reference hGrp = getParmGroup(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000)); - result = fcColor.asValue(); + result = PreferencesGui::selectQColor(); } return result; } diff --git a/src/Mod/TechDraw/Gui/QGIRichAnno.cpp b/src/Mod/TechDraw/Gui/QGIRichAnno.cpp index 9e4dba9575..dce2b8696f 100644 --- a/src/Mod/TechDraw/Gui/QGIRichAnno.cpp +++ b/src/Mod/TechDraw/Gui/QGIRichAnno.cpp @@ -58,12 +58,14 @@ #include +//#include #include #include #include #include "Rez.h" #include "ZVALUE.h" +#include "PreferencesGui.h" #include "QGIArrow.h" #include "ViewProviderRichAnno.h" #include "MDIViewPage.h" @@ -342,22 +344,13 @@ QPen QGIRichAnno::rectPen() const QFont QGIRichAnno::prefFont(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - QString family = Base::Tools::fromStdString(fontName); - QFont result; - result.setFamily(family); - return result; + return PreferencesGui::labelFontQFont(); } double QGIRichAnno::prefPointSize(void) { // Base::Console().Message("QGIRA::prefPointSize()\n"); - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double fontSize = hGrp->GetFloat("FontSize", 5.0); // this is mm, not pts! - + double fontSize = Preferences::dimFontSizeMM(); //this conversion is only approximate. the factor changes for different fonts. // double mmToPts = 2.83; //theoretical value double mmToPts = 2.00; //practical value. seems to be reasonable for common fonts. diff --git a/src/Mod/TechDraw/Gui/QGISectionLine.cpp b/src/Mod/TechDraw/Gui/QGISectionLine.cpp index b6e99ef7d0..b8e9ee6c3d 100644 --- a/src/Mod/TechDraw/Gui/QGISectionLine.cpp +++ b/src/Mod/TechDraw/Gui/QGISectionLine.cpp @@ -32,10 +32,12 @@ #include #include +//#include #include #include #include "Rez.h" +#include "PreferencesGui.h" #include "QGIView.h" #include "QGISectionLine.h" @@ -282,10 +284,7 @@ void QGISectionLine::setSectionColor(QColor c) QColor QGISectionLine::getSectionColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("SectionColor", 0x00000000)); - return fcColor.asValue(); + return PreferencesGui::sectionLineQColor(); } //SectionLineStyle @@ -297,10 +296,7 @@ void QGISectionLine::setSectionStyle(int style) Qt::PenStyle QGISectionLine::getSectionStyle() { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - Qt::PenStyle sectStyle = static_cast (hGrp->GetInt("SectionLine", 2)); - return sectStyle; + return PreferencesGui::sectionLineStyle(); } //ASME("traditional") vs ISO("reference arrow method") arrows diff --git a/src/Mod/TechDraw/Gui/QGITile.cpp b/src/Mod/TechDraw/Gui/QGITile.cpp index f7dec4b892..7ef9c76488 100644 --- a/src/Mod/TechDraw/Gui/QGITile.cpp +++ b/src/Mod/TechDraw/Gui/QGITile.cpp @@ -36,18 +36,21 @@ #include #include +//#include #include #include #include #include #include "Rez.h" +#include "PreferencesGui.h" #include "DrawGuiUtil.h" #include "QGIView.h" #include "QGIWeldSymbol.h" #include "QGITile.h" using namespace TechDrawGui; +using namespace TechDraw; QGITile::QGITile(TechDraw::DrawTileWeld* dtw) : m_textL(QString::fromUtf8(" ")), @@ -189,7 +192,7 @@ void QGITile::makeText(void) } double vertAdjust = 0.0; - double minVertAdjust = prefFontSize() * 0.1; + double minVertAdjust = PreferencesGui::labelFontSizePX() * 0.1; if (m_font.pixelSize() > m_high) { vertAdjust = ((m_font.pixelSize() - m_high) / 2.0) + minVertAdjust; } @@ -381,19 +384,14 @@ double QGITile::getSymbolFactor(void) const double QGITile::prefFontSize(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double sizeMM = hGrp->GetFloat("FontSize", QGIView::DefaultFontSizeInMM); - double fontSize = QGIView::calculateFontPixelSize(sizeMM); - return fontSize; +// Base::Reference hGrp = App::GetApplication().GetUserParameter(). +// GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); + return Preferences::dimFontSizeMM(); } QString QGITile::prefTextFont(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - return QString::fromStdString(fontName); + return Preferences::labelFontQString(); } void QGITile::paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget) { diff --git a/src/Mod/TechDraw/Gui/QGIVertex.cpp b/src/Mod/TechDraw/Gui/QGIVertex.cpp index 3a4cf39b55..8f985dc7bd 100644 --- a/src/Mod/TechDraw/Gui/QGIVertex.cpp +++ b/src/Mod/TechDraw/Gui/QGIVertex.cpp @@ -35,6 +35,7 @@ #include #include +#include "PreferencesGui.h" #include "QGIPrimPath.h" #include "QGIVertex.h" @@ -44,12 +45,7 @@ QGIVertex::QGIVertex(int index) : projIndex(index), m_radius(2) { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("VertexColor", 0x00000000)); - QColor vertexColor = fcColor.asValue(); - + QColor vertexColor = PreferencesGui::vertexQColor(); setFill(vertexColor, Qt::SolidPattern); setRadius(m_radius); diff --git a/src/Mod/TechDraw/Gui/QGIView.cpp b/src/Mod/TechDraw/Gui/QGIView.cpp index 4576e36c2d..d2fbe33a15 100644 --- a/src/Mod/TechDraw/Gui/QGIView.cpp +++ b/src/Mod/TechDraw/Gui/QGIView.cpp @@ -72,9 +72,11 @@ #include #include +#include "PreferencesGui.h" #include "QGIView.h" using namespace TechDrawGui; +using namespace TechDraw; const float labelCaptionFudge = 0.2f; // temp fiddle for devel @@ -96,7 +98,8 @@ QGIView::QGIView() m_pen.setColor(m_colCurrent); //Border/Label styling - m_font.setPixelSize(calculateFontPixelSize(getPrefFontSize())); +// m_font.setPixelSize(calculateFontPixelSize(getPrefFontSize())); + m_font.setPixelSize(PreferencesGui::labelFontSizePX()); m_decorPen.setStyle(Qt::DashLine); m_decorPen.setWidth(0); // 0 => 1px "cosmetic pen" @@ -437,7 +440,8 @@ void QGIView::drawCaption() QRectF displayArea = customChildrenBoundingRect(); m_caption->setDefaultTextColor(m_colCurrent); m_font.setFamily(getPrefFont()); - m_font.setPixelSize(calculateFontPixelSize(getPrefFontSize())); +// m_font.setPixelSize(calculateFontPixelSize(getPrefFontSize())); + m_font.setPixelSize(PreferencesGui::labelFontSizePX()); m_caption->setFont(m_font); QString captionStr = QString::fromUtf8(getViewObject()->Caption.getValue()); m_caption->setPlainText(captionStr); @@ -449,7 +453,8 @@ void QGIView::drawCaption() if (getFrameState() || vp->KeepLabel.getValue()) { //place below label if label visible m_caption->setY(displayArea.bottom() + labelHeight); } else { - m_caption->setY(displayArea.bottom() + labelCaptionFudge * getPrefFontSize()); +// m_caption->setY(displayArea.bottom() + labelCaptionFudge * getPrefFontSize()); + m_caption->setY(displayArea.bottom() + labelCaptionFudge * Preferences::labelFontSizeMM()); } m_caption->show(); } @@ -478,7 +483,8 @@ void QGIView::drawBorder() m_label->setDefaultTextColor(m_colCurrent); m_font.setFamily(getPrefFont()); - m_font.setPixelSize(calculateFontPixelSize(getPrefFontSize())); +// m_font.setPixelSize(calculateFontPixelSize(getPrefFontSize())); + m_font.setPixelSize(PreferencesGui::labelFontSizePX()); m_label->setFont(m_font); QString labelStr = QString::fromUtf8(getViewObject()->Label.getValue()); @@ -668,29 +674,17 @@ void QGIView::addArbitraryItem(QGraphicsItem* qgi) //TODO: change name to prefNormalColor() QColor QGIView::getNormalColor() { - Base::Reference hGrp = getParmGroupCol(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000)); - m_colNormal = fcColor.asValue(); - return m_colNormal; + return PreferencesGui::normalQColor(); } QColor QGIView::getPreColor() { - Base::Reference hGrp = getParmGroupCol(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("PreSelectColor", 0xFFFF0000)); - m_colPre = fcColor.asValue(); - return m_colPre; + return PreferencesGui::preselectQColor(); } QColor QGIView::getSelectColor() { - Base::Reference hGrp = getParmGroupCol(); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("SelectColor", 0x00FF0000)); - m_colSel = fcColor.asValue(); - return m_colSel; + return PreferencesGui::selectQColor(); } Base::Reference QGIView::getParmGroupCol() @@ -702,24 +696,17 @@ Base::Reference QGIView::getParmGroupCol() QString QGIView::getPrefFont() { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - return QString::fromStdString(fontName); + return Preferences::labelFontQString(); } double QGIView::getPrefFontSize() { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - return hGrp->GetFloat("LabelSize", DefaultFontSizeInMM); + return Preferences::labelFontSizeMM(); } double QGIView::getDimFontSize() { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - return hGrp->GetFloat("FontSize", DefaultFontSizeInMM); + return Preferences::dimFontSizeMM(); } int QGIView::calculateFontPixelSize(double sizeInMillimetres) diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp index 64c88ef302..d14fe4ad35 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp @@ -57,9 +57,11 @@ #include #include #include +//#include #include "Rez.h" #include "ZVALUE.h" +#include "PreferencesGui.h" #include "QGIArrow.h" #include "QGIDimLines.h" #include "QGIViewBalloon.h" @@ -399,6 +401,11 @@ void QGIViewBalloon::updateView(bool update) QString labelText = QString::fromUtf8(balloon->Text.getStrValue().data()); balloonLabel->setDimString(labelText, Rez::guiX(balloon->TextWrapLen.getValue())); balloonLabel->setColor(getNormalColor()); + balloonLines->setNormalColor(getNormalColor()); + balloonShape->setNormalColor(getNormalColor()); + arrow->setNormalColor(getNormalColor()); + arrow->setFillColor(getNormalColor()); + } updateBalloon(); @@ -836,11 +843,7 @@ void QGIViewBalloon::setPens(void) QColor QGIViewBalloon::getNormalColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - m_colNormal = fcColor.asValue(); + m_colNormal = PreferencesGui::dimQColor(); auto balloon( dynamic_cast(getViewObject()) ); if( balloon == nullptr ) @@ -857,10 +860,7 @@ QColor QGIViewBalloon::getNormalColor() int QGIViewBalloon::prefDefaultArrow() const { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - int arrow = hGrp->GetInt("BalloonArrow", QGIArrow::getPrefArrowStyle()); - return arrow; + return Preferences::balloonArrow(); } diff --git a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp index f960b636c4..07b4922e8b 100644 --- a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp @@ -58,9 +58,11 @@ #include #include #include +//#include #include "Rez.h" #include "ZVALUE.h" +#include "PreferencesGui.h" #include "QGCustomLabel.h" #include "QGCustomBorder.h" @@ -360,12 +362,13 @@ int QGIDatumLabel::getPrecision(void) { int precision; bool global = false; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - global = hGrp->GetBool("UseGlobalDecimals", true); + global = Preferences::useGlobalDecimals(); if (global) { precision = Base::UnitsApi::getDecimals(); } else { + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Dimensions"); precision = hGrp->GetInt("AltDecimals", 2); } return precision; @@ -2079,12 +2082,7 @@ void QGIViewDimension::drawAngle(TechDraw::DrawViewDimension *dimension, ViewPro QColor QGIViewDimension::prefNormalColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Dimensions"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("Color", 0x00110000)); - m_colNormal = fcColor.asValue(); + m_colNormal = PreferencesGui::dimQColor(); // auto dim( dynamic_cast(getViewObject()) ); TechDraw::DrawViewDimension* dim = nullptr; @@ -2109,7 +2107,7 @@ QColor QGIViewDimension::prefNormalColor() return m_colNormal; } - fcColor = vpDim->Color.getValue(); + App::Color fcColor = vpDim->Color.getValue(); m_colNormal = fcColor.asValue(); return m_colNormal; } diff --git a/src/Mod/TechDraw/Gui/QGIViewPart.cpp b/src/Mod/TechDraw/Gui/QGIViewPart.cpp index 45eaa27157..5d7ee179c9 100644 --- a/src/Mod/TechDraw/Gui/QGIViewPart.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewPart.cpp @@ -60,9 +60,11 @@ #include #include #include +//#include #include "Rez.h" #include "ZVALUE.h" +#include "PreferencesGui.h" #include "QGIFace.h" #include "QGIEdge.h" #include "QGIVertex.h" @@ -540,11 +542,7 @@ void QGIViewPart::drawViewPart() #endif //#if MOD_TECHDRAW_HANDLE_FACES // Draw Edges - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcEdgeColor; - fcEdgeColor.setPackedValue(hGrp->GetUnsigned("NormalColor", 0x00000000)); - QColor edgeColor = fcEdgeColor.asValue(); + QColor edgeColor = PreferencesGui::normalQColor(); const std::vector &geoms = viewPart->getEdgeGeometry(); std::vector::const_iterator itGeom = geoms.begin(); @@ -623,14 +621,10 @@ void QGIViewPart::drawViewPart() // Draw Vertexs: - hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> + Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); double vertexScaleFactor = hGrp->GetFloat("VertexScale", 3.0); - hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("VertexColor", 0x00000000)); - QColor vertexColor = fcColor.asValue(); + QColor vertexColor = PreferencesGui::vertexQColor(); bool showVertices = true; bool showCenterMarks = true; @@ -907,7 +901,8 @@ void QGIViewPart::drawSectionLine(TechDraw::DrawViewSection* viewSection, bool b double sectionFudge = Rez::guiX(10.0); double xVal, yVal; // double fontSize = getPrefFontSize(); - double fontSize = getDimFontSize(); +// double fontSize = getDimFontSize(); + double fontSize = Preferences::dimFontSizeMM(); if (horiz) { double width = Rez::guiX(viewPart->getBoxX()); double height = Rez::guiX(viewPart->getBoxY()); @@ -1011,7 +1006,8 @@ void QGIViewPart::drawHighlight(TechDraw::DrawViewDetail* viewDetail, bool b) } if (b) { - double fontSize = getPrefFontSize(); +// double fontSize = getPrefFontSize(); + double fontSize = Preferences::labelFontSizeMM(); QGIHighlight* highlight = new QGIHighlight(); addToGroup(highlight); highlight->setPos(0.0,0.0); //sb setPos(center.x,center.y)? diff --git a/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp b/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp index ea5c1e042b..c93e9f09c0 100644 --- a/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp +++ b/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp @@ -55,9 +55,11 @@ #include #include #include +//#include #include "Rez.h" #include "ZVALUE.h" +#include "PreferencesGui.h" #include "ViewProviderWeld.h" #include "MDIViewPage.h" #include "DrawGuiUtil.h" @@ -252,7 +254,8 @@ void QGIWeldSymbol::drawAllAround(void) m_allAround->setNormalColor(getCurrentColor()); m_allAround->setFill(Qt::NoBrush); - m_allAround->setRadius(calculateFontPixelSize(getDimFontSize())); +// m_allAround->setRadius(calculateFontPixelSize(getDimFontSize())); + m_allAround->setRadius(PreferencesGui::dimFontSizePX()); double width = m_qgLead->getLineWidth(); m_allAround->setWidth(width); m_allAround->setZValue(ZVALUE::DIMENSION); @@ -323,7 +326,8 @@ void QGIWeldSymbol::drawFieldFlag() QPointF(-2.0, -2.5), QPointF(0.0, -2.0) }; //flag sb about 2x text? - double scale = calculateFontPixelSize(getDimFontSize()) / 2.0; +// double scale = calculateFontPixelSize(getDimFontSize()) / 2.0; + double scale = PreferencesGui::dimFontSizePX() / 2.0; QPainterPath path; path.moveTo(flagPoints.at(0) * scale); int i = 1; @@ -510,29 +514,18 @@ TechDraw::DrawWeldSymbol* QGIWeldSymbol::getFeature(void) //preference QColor QGIWeldSymbol::prefNormalColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/LeaderLines"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - m_colNormal = fcColor.asValue(); + m_colNormal = PreferencesGui::leaderQColor(); return m_colNormal; } double QGIWeldSymbol::prefArrowSize() { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double size = Rez::guiX(hGrp->GetFloat("ArrowSize", 3.5)); - return size; + return PreferencesGui::dimArrowSize(); } double QGIWeldSymbol::prefFontSize(void) const { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double sizeMM = hGrp->GetFloat("FontSize", QGIView::DefaultFontSizeInMM); - double fontSize = QGIView::calculateFontPixelSize(sizeMM); - return fontSize; + return Preferences::labelFontSizeMM(); } QRectF QGIWeldSymbol::boundingRect() const diff --git a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp index f6701cfa86..7d4d6fa07c 100644 --- a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp @@ -57,6 +57,7 @@ #include #include "DrawGuiStd.h" +#include "PreferencesGui.h" #include "QGVPage.h" #include "QGIView.h" #include "QGIPrimPath.h" @@ -419,9 +420,7 @@ void TaskCenterLine::enableTaskButtons(bool b) double TaskCenterLine::getCenterWidth() { - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double width = lg->getWeight("Graphic"); @@ -444,10 +443,7 @@ Qt::PenStyle TaskCenterLine::getCenterStyle() QColor TaskCenterLine::getCenterColor() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor = App::Color((uint32_t) hGrp->GetUnsigned("CenterColor", 0x00000000)); - return fcColor.asValue(); + return PreferencesGui::centerQColor(); } double TaskCenterLine::getExtendBy(void) diff --git a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp index 2f317c6e92..6f63cb7873 100644 --- a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp @@ -47,10 +47,12 @@ #include #include #include +//#include #include #include "DrawGuiStd.h" +#include "PreferencesGui.h" #include "QGVPage.h" #include "QGIView.h" #include "QGIPrimPath.h" @@ -757,18 +759,12 @@ void TaskLeaderLine::enableTaskButtons(bool b) int TaskLeaderLine::getPrefArrowStyle() { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - int style = hGrp->GetInt("ArrowStyle", 0); - return style; + return PreferencesGui::dimArrowStyle(); } double TaskLeaderLine::prefWeight() const { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Thin"); delete lg; //Coverity CID 174670 @@ -777,14 +773,9 @@ double TaskLeaderLine::prefWeight() const App::Color TaskLeaderLine::prefLineColor(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Markups"); - App::Color result; - result.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - return result; + return PreferencesGui::leaderColor(); } - //****************************************************************************** bool TaskLeaderLine::accept() diff --git a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp index d19c93df09..3944c4d6ff 100644 --- a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp +++ b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp @@ -48,10 +48,12 @@ #include #include #include +//#include #include #include "DrawGuiStd.h" +#include "PreferencesGui.h" #include "QGVPage.h" #include "QGIView.h" #include "QGIPrimPath.h" @@ -314,10 +316,7 @@ void TaskRichAnno::onEditorExit(void) double TaskRichAnno::prefWeight() const { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Graphic"); delete lg; //Coverity CID 174670 @@ -326,11 +325,7 @@ double TaskRichAnno::prefWeight() const App::Color TaskRichAnno::prefLineColor(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Markups"); - App::Color result; - result.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - return result; + return PreferencesGui::leaderColor(); } diff --git a/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp b/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp index bfcc9223d2..f035a2fc39 100644 --- a/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp +++ b/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp @@ -57,10 +57,12 @@ #include #include #include +//#include #include #include "DrawGuiStd.h" +#include "PreferencesGui.h" #include "QGVPage.h" #include "QGIView.h" #include "QGIPrimPath.h" @@ -195,7 +197,7 @@ void TaskWeldingSymbol::setUiPrimary() { // Base::Console().Message("TWS::setUiPrimary()\n"); setWindowTitle(QObject::tr("Create Welding Symbol")); - m_currDir = QString::fromUtf8(prefSymbolDir().c_str()); + m_currDir = PreferencesGui::weldingDirectory(); ui->fcSymbolDir->setFileName(m_currDir); ui->pbArrowSymbol->setFocus(); @@ -215,7 +217,7 @@ void TaskWeldingSymbol::setUiEdit() // Base::Console().Message("TWS::setUiEdit()\n"); setWindowTitle(QObject::tr("Edit Welding Symbol")); - m_currDir = QString::fromUtf8(prefSymbolDir().c_str()); //sb path part of 1st symbol file?? + m_currDir = PreferencesGui::weldingDirectory(); ui->fcSymbolDir->setFileName(m_currDir); ui->cbAllAround->setChecked(m_weldFeat->AllAround.getValue()); @@ -634,16 +636,6 @@ void TaskWeldingSymbol::enableTaskButtons(bool b) m_btnCancel->setEnabled(b); } -std::string TaskWeldingSymbol::prefSymbolDir() -{ - std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Symbols/Welding/AWS/"; - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); - - std::string symbolDir = hGrp->GetASCII("WeldingDir", defaultDir.c_str()); - return symbolDir; -} - //****************************************************************************** bool TaskWeldingSymbol::accept() diff --git a/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp b/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp index 90ae93a7ad..e7ad512ce5 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderBalloon.cpp @@ -47,11 +47,14 @@ #include #include +//#include +#include "PreferencesGui.h" #include "TaskBalloon.h" #include "ViewProviderBalloon.h" using namespace TechDrawGui; +using namespace TechDraw; PROPERTY_SOURCE(TechDrawGui::ViewProviderBalloon, TechDrawGui::ViewProviderDrawingView) @@ -64,28 +67,17 @@ ViewProviderBalloon::ViewProviderBalloon() static const char *group = "Balloon Format"; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - - hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double fontSize = hGrp->GetFloat("FontSize", QGIView::DefaultFontSizeInMM); - ADD_PROPERTY_TYPE(Font,(fontName.c_str()),group,App::Prop_None, "The name of the font to use"); - ADD_PROPERTY_TYPE(Fontsize,(fontSize),group,(App::PropertyType)(App::Prop_None),"Dimension text size in units"); - - hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + 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"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Thin"); delete lg; //Coverity CID 174670 ADD_PROPERTY_TYPE(LineWidth,(weight),group,(App::PropertyType)(App::Prop_None),"Leader line width"); - hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - ADD_PROPERTY_TYPE(Color,(fcColor),group,App::Prop_None,"Color of the text"); + ADD_PROPERTY_TYPE(Color,(PreferencesGui::dimColor()), + group,App::Prop_None,"Color of the balloon"); } ViewProviderBalloon::~ViewProviderBalloon() @@ -188,4 +180,4 @@ bool ViewProviderBalloon::canDelete(App::DocumentObject *obj) const // thus we can pass this action Q_UNUSED(obj) return true; -} \ No newline at end of file +} diff --git a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp index 7d77bd6217..ed429f6802 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp @@ -41,11 +41,14 @@ #include #include +//#include +#include "PreferencesGui.h" #include "QGIViewDimension.h" #include "ViewProviderDimension.h" using namespace TechDrawGui; +using namespace TechDraw; const char *ViewProviderDimension::StandardAndStyleEnums[]= { "ISO Oriented", "ISO Referencing", "ASME Inlined", "ASME Referencing", NULL }; @@ -64,8 +67,10 @@ ViewProviderDimension::ViewProviderDimension() static const char *group = "Dim Format"; - ADD_PROPERTY_TYPE(Font, (prefFont().c_str()), group, App::Prop_None, "The name of the font to use"); - ADD_PROPERTY_TYPE(Fontsize, (prefFontSize()), group, (App::PropertyType)(App::Prop_None), + 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), "Dimension text size in units"); ADD_PROPERTY_TYPE(LineWidth, (prefWeight()), group, (App::PropertyType)(App::Prop_None), "Dimension line width"); @@ -162,39 +167,23 @@ TechDraw::DrawViewDimension* ViewProviderDimension::getViewObject() const } App::Color ViewProviderDimension::prefColor() const -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Dimensions"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("Color", 0x00001100)); - return fcColor; +{ + return PreferencesGui::dimColor(); } std::string ViewProviderDimension::prefFont() const -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - return fontName; +{ + return Preferences::labelFont(); } double ViewProviderDimension::prefFontSize() const { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Dimensions"); - double fontSize = hGrp->GetFloat("FontSize", QGIView::DefaultFontSizeInMM); - return fontSize; + return Preferences::dimFontSizeMM(); } double ViewProviderDimension::prefWeight() const { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Thin"); delete lg; //Coverity CID 174670 diff --git a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp index 5d91a31a69..53bee35a91 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp @@ -55,10 +55,12 @@ #include #include "TaskGeomHatch.h" +#include "PreferencesGui.h" #include "ViewProviderDrawingView.h" #include "ViewProviderGeomHatch.h" using namespace TechDrawGui; +using namespace TechDraw; PROPERTY_SOURCE(TechDrawGui::ViewProviderGeomHatch, Gui::ViewProviderDocumentObject) @@ -184,10 +186,7 @@ void ViewProviderGeomHatch::updateGraphic(void) void ViewProviderGeomHatch::getParameters(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Graphic"); delete lg; //Coverity CID 174667 diff --git a/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp b/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp index 8016becb94..53ea8cb4e8 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderLeader.cpp @@ -55,6 +55,7 @@ #include #include +#include "PreferencesGui.h" #include "MDIViewPage.h" #include "QGVPage.h" #include "QGIView.h" @@ -62,6 +63,7 @@ #include "ViewProviderLeader.h" using namespace TechDrawGui; +using namespace TechDraw; PROPERTY_SOURCE(TechDrawGui::ViewProviderLeader, TechDrawGui::ViewProviderDrawingView) @@ -198,8 +200,7 @@ TechDraw::DrawLeaderLine* ViewProviderLeader::getFeature() const double ViewProviderLeader::getDefLineWeight(void) { double result = 0.0; - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); result = lg->getWeight("Thin"); delete lg; //Coverity CID 174670 @@ -207,12 +208,8 @@ double ViewProviderLeader::getDefLineWeight(void) } App::Color ViewProviderLeader::getDefLineColor(void) -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Markups"); - App::Color result; - result.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - return result; +{ + return PreferencesGui::leaderColor(); } void ViewProviderLeader::handleChangedPropertyType(Base::XMLReader &reader, const char *TypeName, App::Property *prop) diff --git a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp index b70975b83b..a10527be3b 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderPage.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderPage.cpp @@ -63,6 +63,7 @@ #include #include +#include "PreferencesGui.h" #include "MDIViewPage.h" #include "QGVPage.h" #include "QGITemplate.h" @@ -71,6 +72,7 @@ using namespace TechDrawGui; +using namespace TechDraw; #define _SHOWDRAWING 10 #define _TOGGLEUPDATE 11 @@ -406,10 +408,7 @@ void ViewProviderPage::finishRestoring() m_docReady = true; //control drawing opening on restore based on Preference //mantis #2967 ph2 - don't even show blank page - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/General"); - bool autoUpdate = hGrp->GetBool("KeepPagesUpToDate", 1l); - if (autoUpdate) { + if (Preferences::keepPagesUpToDate()) { static_cast(showMDIViewPage()); } Gui::ViewProviderDocumentObject::finishRestoring(); diff --git a/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp b/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp index 54234a7e6c..607117af05 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderRichAnno.cpp @@ -48,7 +48,9 @@ #include #include +//#include +#include "PreferencesGui.h" #include "MDIViewPage.h" #include "QGVPage.h" #include "QGIView.h" @@ -56,6 +58,7 @@ #include "ViewProviderRichAnno.h" using namespace TechDrawGui; +using namespace TechDraw; // there are only 5 frame line styles App::PropertyIntegerConstraint::Constraints ViewProviderRichAnno::LineStyleRange = {0, 5, 1}; @@ -164,37 +167,24 @@ TechDraw::DrawRichAnno* ViewProviderRichAnno::getFeature() const } App::Color ViewProviderRichAnno::getDefLineColor(void) -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Markups"); - App::Color result; - result.setPackedValue(hGrp->GetUnsigned("Color", 0x00000000)); - return result; +{ + return PreferencesGui::leaderColor(); } std::string ViewProviderRichAnno::getDefFont(void) -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - return fontName; +{ + return Preferences::labelFont(); } double ViewProviderRichAnno::getDefFontSize() { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double fontSize = hGrp->GetFloat("FontSize", 5.0); - return fontSize; + return Preferences::dimFontSizeMM(); } double ViewProviderRichAnno::getDefLineWeight(void) { double result = 0.0; - Base::Reference hGrp = App::GetApplication().GetUserParameter(). - GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); result = lg->getWeight("Graphics"); delete lg; diff --git a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp index b8469fc1a2..21052a6e04 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp @@ -58,11 +58,14 @@ #include #include + +#include "PreferencesGui.h" #include "QGIView.h" #include "TaskDetail.h" #include "ViewProviderViewPart.h" using namespace TechDrawGui; +using namespace TechDraw; PROPERTY_SOURCE(TechDrawGui::ViewProviderViewPart, TechDrawGui::ViewProviderDrawingView) @@ -86,9 +89,7 @@ ViewProviderViewPart::ViewProviderViewPart() static const char *hgroup = "Highlight"; //default line weights - Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> - GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); + std::string lgName = Preferences::lineGroup(); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Thick"); @@ -104,7 +105,7 @@ ViewProviderViewPart::ViewProviderViewPart() ADD_PROPERTY_TYPE(ExtraWidth,(weight),group,App::Prop_None,"The thickness of LineGroup Extra lines, if enabled"); delete lg; //Coverity CID 174664 - hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> + Base::Reference hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")-> GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); double defScale = hGrp->GetFloat("CenterMarkScale",0.50); @@ -118,9 +119,8 @@ ViewProviderViewPart::ViewProviderViewPart() //properties that affect Section Line ADD_PROPERTY_TYPE(ShowSectionLine ,(true) ,dgroup,App::Prop_None,"Show/hide section line if applicable"); - int defLineStyle = hGrp->GetInt("SectionLine", 2); SectionLineStyle.setEnums(LineStyleEnums); - ADD_PROPERTY_TYPE(SectionLineStyle, (defLineStyle), dgroup, App::Prop_None, + ADD_PROPERTY_TYPE(SectionLineStyle, (PreferencesGui::sectionLineStyle()), dgroup, App::Prop_None, "Set section line style if applicable"); ADD_PROPERTY_TYPE(SectionLineColor, (prefSectionColor()), dgroup, App::Prop_None, "Set section line color if applicable"); @@ -388,11 +388,7 @@ bool ViewProviderViewPart::canDelete(App::DocumentObject *obj) const App::Color ViewProviderViewPart::prefSectionColor(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("SectionColor", 0x00FF0000)); - return fcColor; + return PreferencesGui::sectionLineColor(); } App::Color ViewProviderViewPart::prefHighlightColor(void) diff --git a/src/Mod/TechDraw/Gui/ViewProviderViewSection.cpp b/src/Mod/TechDraw/Gui/ViewProviderViewSection.cpp index 52a5751ba0..61fbc07fb5 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderViewSection.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderViewSection.cpp @@ -48,9 +48,10 @@ #include #include +//#include +#include "PreferencesGui.h" #include "TaskSectionView.h" - #include "ViewProviderViewSection.h" using namespace TechDrawGui; @@ -185,7 +186,7 @@ void ViewProviderViewSection::getParameters(void) { Base::Reference hGrp = App::GetApplication().GetUserParameter() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color cutColor = App::Color((uint32_t) hGrp->GetUnsigned("CutSurfaceColor", 0xC8C8C800)); + App::Color cutColor = App::Color((uint32_t) hGrp->GetUnsigned("CutSurfaceColor", 0xD3D3D3FF)); CutSurfaceColor.setValue(cutColor); // App::Color hatchColor = App::Color((uint32_t) hGrp->GetUnsigned("SectionHatchColor", 0x00000000)); diff --git a/src/Mod/TechDraw/Gui/ViewProviderWeld.cpp b/src/Mod/TechDraw/Gui/ViewProviderWeld.cpp index 47c1dfbde5..245b35acfa 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderWeld.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderWeld.cpp @@ -45,11 +45,12 @@ #include #include +#include "PreferencesGui.h" #include "TaskWeldingSymbol.h" - #include "ViewProviderWeld.h" using namespace TechDrawGui; +using namespace TechDraw; PROPERTY_SOURCE(TechDrawGui::ViewProviderWeld, TechDrawGui::ViewProviderDrawingView) @@ -163,20 +164,12 @@ bool ViewProviderWeld::doubleClicked(void) std::string ViewProviderWeld::prefFontName(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - return fontName; + return Preferences::labelFont(); } double ViewProviderWeld::prefFontSize(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")-> - GetGroup("Mod/TechDraw/Dimensions"); - double fontSize = hGrp->GetFloat("FontSize", QGIView::DefaultFontSizeInMM); - return fontSize; + return Preferences::labelFontSizeMM(); } double ViewProviderWeld::prefTileTextAdjust(void) diff --git a/src/Mod/TechDraw/Gui/mrichtextedit.cpp b/src/Mod/TechDraw/Gui/mrichtextedit.cpp index bc1c13ea3d..39d339d379 100644 --- a/src/Mod/TechDraw/Gui/mrichtextedit.cpp +++ b/src/Mod/TechDraw/Gui/mrichtextedit.cpp @@ -54,13 +54,18 @@ #include +#include "PreferencesGui.h" #include "mrichtextedit.h" +using namespace TechDrawGui; +using namespace TechDraw; + MRichTextEdit::MRichTextEdit(QWidget *parent, QString textIn) : QWidget(parent) { setupUi(this); m_lastBlockList = 0; f_textedit->setTabStopWidth(40); - setDefFontSize(getDefFontSizeNum()); +// setDefFontSize(getDefFontSizeNum()); + setDefFontSize(TechDrawGui::PreferencesGui::labelFontSizePX()); m_defFont = getDefFont().family(); f_textedit->setFont(getDefFont()); @@ -750,9 +755,7 @@ void MRichTextEdit::setDefFontSize(int fs) int MRichTextEdit::getDefFontSizeNum(void) { // Base::Console().Message("MRTE::getDefFontSizeNum()\n"); - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Dimensions"); - double fontSize = hGrp->GetFloat("FontSize", 5.0); // this is mm, not pts! + double fontSize = TechDraw::Preferences::dimFontSizeMM(); //this conversion is only approximate. the factor changes for different fonts. // double mmToPts = 2.83; //theoretical value @@ -777,10 +780,7 @@ void MRichTextEdit::setDefFont(QString f) QFont MRichTextEdit::getDefFont(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Labels"); - std::string fontName = hGrp->GetASCII("LabelFont", "osifont"); - QString family = Base::Tools::fromStdString(fontName); + QString family = Base::Tools::fromStdString(Preferences::labelFont()); m_defFont = family; QFont result; result.setFamily(family);