diff --git a/src/Mod/Draft/draftguitools/gui_setstyle.py b/src/Mod/Draft/draftguitools/gui_setstyle.py index de9317ab03..91cc61d991 100644 --- a/src/Mod/Draft/draftguitools/gui_setstyle.py +++ b/src/Mod/Draft/draftguitools/gui_setstyle.py @@ -199,8 +199,6 @@ class Draft_SetStyle_TaskPanel: param_draft.SetFloat("dimovershoot",FreeCAD.Units.Quantity(self.form.DimOvershoot.text()).Value) param_draft.SetFloat("extlines",FreeCAD.Units.Quantity(self.form.ExtLines.text()).Value) param_draft.SetFloat("extovershoot",FreeCAD.Units.Quantity(self.form.ExtOvershoot.text()).Value) - if hasattr(FreeCADGui,"draftToolBar"): - FreeCADGui.draftToolBar.setStyleButton() self.reject() def onApplyStyle(self): diff --git a/src/Mod/Draft/draftutils/params.py b/src/Mod/Draft/draftutils/params.py index 7ebbb80e7c..8404119a5d 100644 --- a/src/Mod/Draft/draftutils/params.py +++ b/src/Mod/Draft/draftutils/params.py @@ -33,9 +33,12 @@ from draftutils.translate import translate from draftviewproviders import view_base -class ParamObserver: +class ParamObserverDraft: def slotParamChanged(self, param, tp, name, value): + if name == "textheight": + _param_observer_callback_tray() + return if name in ("gridBorder", "gridShowHuman", "coloredGridAxes", "gridEvery", "gridSpacing", "gridSize", "gridTransparency", "gridColor"): _param_observer_callback_grid() @@ -60,6 +63,23 @@ class ParamObserver: return +class ParamObserverView: + + def slotParamChanged(self, param, tp, name, value): + if name in ("DefaultShapeColor", "DefaultShapeLineColor", "DefaultShapeLineWidth"): + _param_observer_callback_tray() + return + + +def _param_observer_callback_tray(): + if not hasattr(Gui, "draftToolBar"): + return + tray = Gui.draftToolBar.tray + if tray is None: + return + Gui.draftToolBar.setStyleButton() + + def _param_observer_callback_grid(): if hasattr(App, "draft_working_planes") and hasattr(Gui, "Snapper"): try: @@ -158,5 +178,14 @@ of existing objects in all opened documents?""") doc.commitTransaction() -def _param_observer_start(param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")): - param.AttachManager(ParamObserver()) +def _param_observer_start(): + _param_observer_start_draft() + _param_observer_start_view() + + +def _param_observer_start_draft(param = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")): + param.AttachManager(ParamObserverDraft()) + + +def _param_observer_start_view(param = App.ParamGet("User parameter:BaseApp/Preferences/View")): + param.AttachManager(ParamObserverView())