diff --git a/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui b/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui index e7424daadf..4245b83725 100644 --- a/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui +++ b/src/Mod/Draft/Resources/ui/preferences-draftvisual.ui @@ -253,6 +253,9 @@ + + The resolution to draw the patterns in. Default value is 128. Higher values give better resolutions, lower values make drawing faster + 512 @@ -269,6 +272,52 @@ + + + + + + Hatch Pattern default size + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + The default size of hatch patterns + + + 4 + + + 0.000100000000000 + + + 1.000000000000000 + + + HatchPatternSize + + + Mod/Draft + + + + + @@ -508,6 +557,11 @@ QLineEdit
Gui/PrefWidgets.h
+ + Gui::PrefDoubleSpinBox + QDoubleSpinBox +
Gui/PrefWidgets.h
+
diff --git a/src/Mod/Draft/draftutils/utils.py b/src/Mod/Draft/draftutils/utils.py index 571eb4957e..2bb3633ba3 100644 --- a/src/Mod/Draft/draftutils/utils.py +++ b/src/Mod/Draft/draftutils/utils.py @@ -176,7 +176,7 @@ def get_param_type(param): return "string" elif param in ("textheight", "tolerance", "gridSpacing", "arrowsize", "extlines", "dimspacing", - "dimovershoot", "extovershoot"): + "dimovershoot", "extovershoot","HatchPatternSize"): return "float" elif param in ("selectBaseObjects", "alwaysSnap", "grid", "fillmode", "saveonexit", "maxSnap", diff --git a/src/Mod/Draft/draftviewproviders/view_base.py b/src/Mod/Draft/draftviewproviders/view_base.py index 82e1aedc71..812474287f 100644 --- a/src/Mod/Draft/draftviewproviders/view_base.py +++ b/src/Mod/Draft/draftviewproviders/view_base.py @@ -112,7 +112,7 @@ class ViewProviderDraft(object): "PatternSize", "Draft", QT_TRANSLATE_NOOP("App::Property", _tip)) - vobj.PatternSize = 1 + vobj.PatternSize = utils.get_param("HatchPatternSize", 1) def __getstate__(self): """Return a tuple of all serializable objects or None. @@ -286,8 +286,9 @@ class ViewProviderDraft(object): if path and vobj.RootNode: if vobj.RootNode.getChildren().getLength() > 2: if vobj.RootNode.getChild(2).getChildren().getLength() > 0: - if vobj.RootNode.getChild(2).getChild(0).getChildren().getLength() > 2: - r = vobj.RootNode.getChild(2).getChild(0).getChild(2) + innodes = vobj.RootNode.getChild(2).getChild(0).getChildren().getLength() + if innodes > 2: + r = vobj.RootNode.getChild(2).getChild(0).getChild(innodes-1) i = QtCore.QFileInfo(path) if self.texture: r.removeChild(self.texture)