diff --git a/src/Mod/Draft/draftguitools/gui_setstyle.py b/src/Mod/Draft/draftguitools/gui_setstyle.py index 1d3046ea99..cce17d785e 100644 --- a/src/Mod/Draft/draftguitools/gui_setstyle.py +++ b/src/Mod/Draft/draftguitools/gui_setstyle.py @@ -123,7 +123,7 @@ class Draft_SetStyle_TaskPanel: return QtGui.QColor.fromRgbF(r,g,b) def getValues(self): - + preset = {} preset["LineColor"] = self.form.LineColor.property("color").rgb()<<8 preset["LineWidth"] = self.form.LineWidth.value() @@ -143,7 +143,7 @@ class Draft_SetStyle_TaskPanel: return preset def setValues(self,preset): - + from PySide import QtCore,QtGui self.form.LineColor.setProperty("color",self.getColor(preset.get("LineColor",255))) self.form.LineWidth.setValue(preset.get("LineWidth",1)) @@ -169,6 +169,8 @@ class Draft_SetStyle_TaskPanel: FreeCAD.ParamGet(self.p+"View").SetUnsigned("DefaultShapeLineColor",self.form.LineColor.property("color").rgb()<<8) FreeCAD.ParamGet(self.p+"View").SetInt("DefaultShapeLineWidth",self.form.LineWidth.value()) + FreeCAD.ParamGet(self.p+"View").SetUnsigned("DefaultShapeVertexColor",self.form.LineColor.property("color").rgb()<<8) + FreeCAD.ParamGet(self.p+"View").SetInt("DefaultShapePointSize",self.form.LineWidth.value()) FreeCAD.ParamGet(self.p+"Mod/Draft").SetInt("DefaultDrawStyle",self.form.DrawStyle.currentIndex()) FreeCAD.ParamGet(self.p+"Mod/Draft").SetInt("DefaultDisplayMode",self.form.DisplayMode.currentIndex()) FreeCAD.ParamGet(self.p+"View").SetUnsigned("DefaultShapeColor",self.form.ShapeColor.property("color").rgb()<<8) @@ -195,18 +197,17 @@ class Draft_SetStyle_TaskPanel: vobj.LineColor = self.form.LineColor.property("color").getRgbF() if "LineWidth" in vobj.PropertiesList: vobj.LineWidth = self.form.LineWidth.value() + if "PointColor" in vobj.PropertiesList: + vobj.PointColor = self.form.LineColor.property("color").getRgbF() + if "PointSize" in vobj.PropertiesList: + vobj.PointSize = self.form.LineWidth.value() if "DrawStyle" in vobj.PropertiesList: vobj.DrawStyle = ["Solid","Dashed","Dotted","Dashdot"][self.form.DrawStyle.currentIndex()] if "DisplayMode" in vobj.PropertiesList: dmodes = ["Flat Lines","Wireframe","Shaded","Points"] dm = dmodes[self.form.DisplayMode.currentIndex()] - if hasattr(vobj,"Proxy") and hasattr(vobj.Proxy,"getDisplayModes"): - dmodes = vobj.Proxy.getDisplayModes(vobj) - if dm in dmodes: - try: - vobj.DisplayMode = dm - except Exception: - pass + if dm in vobj.getEnumerationsOfProperty("DisplayMode"): + vobj.DisplayMode = dm if "ShapeColor" in vobj.PropertiesList: vobj.ShapeColor = self.form.ShapeColor.property("color").getRgbF() if "Transparency" in vobj.PropertiesList: @@ -233,7 +234,7 @@ class Draft_SetStyle_TaskPanel: vobj.LineSpacing = self.form.LineSpacing.value() def onApplyDim(self,index): - + import Draft objs = FreeCAD.ActiveDocument.Objects dims = Draft.getObjectsOfType(objs,"LinearDimension") diff --git a/src/Mod/Draft/draftviewproviders/view_layer.py b/src/Mod/Draft/draftviewproviders/view_layer.py index 1f88700105..337a0e595a 100644 --- a/src/Mod/Draft/draftviewproviders/view_layer.py +++ b/src/Mod/Draft/draftviewproviders/view_layer.py @@ -38,7 +38,7 @@ import FreeCAD as App import FreeCADGui as Gui from draftutils.messages import _msg -from draftutils.translate import _tr +from draftutils.translate import translate from draftobjects.layer import Layer @@ -239,15 +239,17 @@ class ViewProviderLayer: # and then sets the target property accordingly if hasattr(target_vobj, prop): setattr(target_vobj, prop, getattr(vobj, prop)) - else: - continue - # Use the line color for the text color if it exists + # Use the line color for the point color and text color if prop == "LineColor": + if hasattr(target_vobj, "PointColor"): + target_vobj.PointColor = vobj.LineColor if hasattr(target_vobj, "TextColor"): target_vobj.TextColor = vobj.LineColor - if hasattr(target_vobj, "FontColor"): - target_vobj.FontColor = vobj.LineColor + # Use the line width for the point size + elif prop == "LineWidth": + if hasattr(target_vobj, "PointSize"): + target_vobj.PointSize = vobj.LineWidth def onChanged(self, vobj, prop): """Execute when a view property is changed.""" @@ -356,13 +358,13 @@ class ViewProviderLayer: def setupContextMenu(self, vobj, menu): """Set up actions to perform in the context menu.""" action1 = QtGui.QAction(QtGui.QIcon(":/icons/button_right.svg"), - _tr("Activate this layer"), + translate("draft", "Activate this layer"), menu) action1.triggered.connect(self.activate) menu.addAction(action1) action2 = QtGui.QAction(QtGui.QIcon(":/icons/Draft_SelectGroup.svg"), - _tr("Select layer contents"), + translate("draft", "Select layer contents"), menu) action2.triggered.connect(self.select_contents) menu.addAction(action2) @@ -400,12 +402,12 @@ class ViewProviderLayerContainer: def setupContextMenu(self, vobj, menu): """Set up actions to perform in the context menu.""" action1 = QtGui.QAction(QtGui.QIcon(":/icons/Draft_Layer.svg"), - _tr("Merge layer duplicates"), + translate("draft", "Merge layer duplicates"), menu) action1.triggered.connect(self.merge_by_name) menu.addAction(action1) action2 = QtGui.QAction(QtGui.QIcon(":/icons/Draft_NewLayer.svg"), - _tr("Add new layer"), + translate("draft", "Add new layer"), menu) action2.triggered.connect(self.add_layer) menu.addAction(action2) @@ -416,7 +418,7 @@ class ViewProviderLayerContainer: return doc = App.ActiveDocument - doc.openTransaction(_tr("Merge layer duplicates")) + doc.openTransaction(translate("draft", "Merge layer duplicates")) layer_container = self.Object layers = [] @@ -448,12 +450,12 @@ class ViewProviderLayerContainer: base.Group = base_group to_delete.append(layer) elif layer.Label != base_label: - _msg(_tr("Relabeling layer:") + _msg(translate("draft", "Relabeling layer:") + " '{}' -> '{}'".format(layer.Label, base_label)) layer.Label = base_label for layer in to_delete: - _msg(_tr("Merging layer:") + " '{}'".format(layer.Label)) + _msg(translate("draft", "Merging layer:") + " '{}'".format(layer.Label)) doc.removeObject(layer.Name) doc.recompute() @@ -464,7 +466,7 @@ class ViewProviderLayerContainer: import Draft doc = App.ActiveDocument - doc.openTransaction(_tr("Add new layer")) + doc.openTransaction(translate("draft", "Add new layer")) Draft.make_layer()