diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1.ui b/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1.ui
index 4d43784398..74e0ee470d 100644
--- a/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1.ui
+++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1.ui
@@ -481,6 +481,38 @@
+ -
+
+
+
+ true
+
+
+
+ Markups
+
+
+
+ -
+
+
+ Default color for annotations
+
+
+
+ 0
+ 0
+ 0
+
+
+
+ Color
+
+
+ Mod/TechDraw/Markups
+
+
+
diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1Imp.cpp b/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1Imp.cpp
index 9994b72040..33549d7d1b 100644
--- a/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1Imp.cpp
+++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDraw1Imp.cpp
@@ -74,6 +74,8 @@ void DlgPrefsTechDraw1Imp::saveSettings()
pcbSectionLine->onSave();
pcbCenterColor->onSave();
pcbVertexColor->onSave();
+
+ pcbMarkup->onSave();
}
void DlgPrefsTechDraw1Imp::loadSettings()
@@ -108,6 +110,8 @@ void DlgPrefsTechDraw1Imp::loadSettings()
pcbSectionLine->onRestore();
pcbCenterColor->onRestore();
pcbVertexColor->onRestore();
+
+ pcbMarkup->onRestore();
}
/**
diff --git a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp
index 27b9f55c8c..55c6d72811 100644
--- a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp
+++ b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp
@@ -225,7 +225,9 @@ void TaskLeaderLine::setUiPrimary()
ui->dsbWeight->setUnit(Base::Unit::Length);
ui->dsbWeight->setMinimum(0);
- ui->dsbWeight->setValue(0.5);
+ ui->dsbWeight->setValue(prefWeight());
+
+ ui->cpLineColor->setColor(prefLineColor().asValue());
}
//switch widgets related to ViewProvider on/off
@@ -660,6 +662,28 @@ int TaskLeaderLine::getPrefArrowStyle()
return style;
}
+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");
+ auto lg = TechDraw::LineGroup::lineGroupFactory(lgName);
+ double weight = lg->getWeight("Thin");
+ delete lg; //Coverity CID 174670
+ return weight;
+}
+
+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;
+}
+
+
//******************************************************************************
bool TaskLeaderLine::accept()
diff --git a/src/Mod/TechDraw/Gui/TaskLeaderLine.h b/src/Mod/TechDraw/Gui/TaskLeaderLine.h
index b2d61df277..2c96d635b8 100644
--- a/src/Mod/TechDraw/Gui/TaskLeaderLine.h
+++ b/src/Mod/TechDraw/Gui/TaskLeaderLine.h
@@ -113,8 +113,10 @@ protected:
void enableVPUi(bool b);
void setEditCursor(QCursor c);
- QGIView* findParentQGIV();
- int getPrefArrowStyle();
+ QGIView* findParentQGIV();
+ int getPrefArrowStyle();
+ double prefWeight() const;
+ App::Color prefLineColor(void);
void saveState(void);
void restoreState(void);
diff --git a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp
index 61434f2c6a..205aa9ac11 100644
--- a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp
+++ b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp
@@ -198,7 +198,10 @@ void TaskRichAnno::setUiPrimary()
}
ui->dsbWidth->setUnit(Base::Unit::Length);
ui->dsbWidth->setMinimum(0);
- ui->dsbWidth->setValue(0.5);
+ ui->dsbWidth->setValue(prefWeight());
+
+ ui->cpFrameColor->setColor(prefLineColor().asValue());
+
}
void TaskRichAnno::enableTextUi(bool b)
@@ -288,6 +291,28 @@ void TaskRichAnno::onEditorExit(void)
m_rte = nullptr;
}
+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");
+ auto lg = TechDraw::LineGroup::lineGroupFactory(lgName);
+ double weight = lg->getWeight("Graphic");
+ delete lg; //Coverity CID 174670
+ return weight;
+}
+
+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;
+}
+
+
//******************************************************************************
void TaskRichAnno::createAnnoFeature()
{
diff --git a/src/Mod/TechDraw/Gui/TaskRichAnno.h b/src/Mod/TechDraw/Gui/TaskRichAnno.h
index fedb395ee0..cded4653d6 100644
--- a/src/Mod/TechDraw/Gui/TaskRichAnno.h
+++ b/src/Mod/TechDraw/Gui/TaskRichAnno.h
@@ -99,7 +99,9 @@ protected:
void setUiEdit(void);
void enableTextUi(bool b);
void enableVPUi(bool b);
-
+ double prefWeight() const;
+ App::Color prefLineColor(void);
+
private:
Ui_TaskRichAnno * ui;
bool blockUpdate;