diff options
author | Tiago Conceição <Tiago_caza@hotmail.com> | 2021-01-14 02:19:23 +0300 |
---|---|---|
committer | Tiago Conceição <Tiago_caza@hotmail.com> | 2021-01-14 02:19:23 +0300 |
commit | 097bbb867dd2a5942602d0dadc71187494e55b35 (patch) | |
tree | 3e3da6bf15cb0b3c9197bd8e63322f1250afba1d /UVtools.WPF/UserSettings.cs | |
parent | 17bdece1b536013ae72213717311a0dcd389f97c (diff) |
v2.3.0v2.3.0
* **PrusaSlicer:**
* **In this release is recommended to discard your printer and refresh it with uvtools updated printer or replace notes over**
* (Add) FILEFORMAT_XXX variable to auto-convert to that file format once open in UVtools
* (Update) Print profiles fields with new PrusaSlicer version
* (Remove) LayerOffDelay from printer notes and use only the LightOffDelay variable instead, both were being used, to avoid redundacy LayerOffDelay was dropped. Please update your printer accordingly!
* (Remove) FLIP_XY compability from printers
* (Remove) AntiAlias variable from printers
* **(Add) Settings - Automations:**
* Auto save the file after apply any automation(s)
* Auto convert SL1 files to the target format when possible and load it back
* Auto set the extra 'light-off delay' based on lift height and speed.
* (Add) Allow all and future formats to convert between them without knowing each other (Abstraction)
* (Add) XYResolution and XYResolutionUm property to file formats
* (Add) Calculator - Optimal model tilt: Calculates the optimal model tilt angle for printing and to minimize the visual layer effect
* (Add) Bottom layer count to the status bar
* **(Add) FileFormat propertiers:**
* MirrorDisplay: If images need to be mirrored on lcd to print on the correct orientation (If available)
* MaxPrintHeight: The maximum Z build volume of the printer (If available)
* (Add) ZCodex: Print paramenter light-off delay"
* (Add) SL1: Implement missing keys: host_type, physical_printer_settings_id and support_small_pillar_diameter_percent
* (Change) File formats: Round all setters floats to 2 decimals
* (Change) Island Repair: "Remove Islands Below Equal Pixels" limit from 255 to 65535 (#124)
* (Change) LightOffTime variables to LayerOffDelay
* (Fix) Files with upper case extensions doesn't load in
* **(Fix) SL1:**
* Prevent error when bottle volume is 0
* bool values were incorrectly parsed
* (Fix) **ZIP:**
* Material volume was set to grams
* Bed Y was not being set
Diffstat (limited to 'UVtools.WPF/UserSettings.cs')
-rw-r--r-- | UVtools.WPF/UserSettings.cs | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/UVtools.WPF/UserSettings.cs b/UVtools.WPF/UserSettings.cs index 613f2d4..16b0ff5 100644 --- a/UVtools.WPF/UserSettings.cs +++ b/UVtools.WPF/UserSettings.cs @@ -12,7 +12,6 @@ using System.IO; using System.Xml.Serialization; using Avalonia.Media; using JetBrains.Annotations; -using ReactiveUI; using UVtools.Core; using UVtools.Core.Objects; using Color=UVtools.WPF.Structures.Color; @@ -23,7 +22,7 @@ namespace UVtools.WPF public sealed class UserSettings : BindableBase { #region Constants - public const ushort SETTINGS_VERSION = 1; + public const ushort SETTINGS_VERSION = 2; #endregion #region Sub classes @@ -987,7 +986,7 @@ namespace UVtools.WPF private bool _repairIslands = true; private bool _repairResinTraps = true; private bool _removeEmptyLayers = true; - private byte _removeIslandsBelowEqualPixels = 5; + private ushort _removeIslandsBelowEqualPixels = 5; private ushort _removeIslandsRecursiveIterations = 4; private byte _closingIterations = 2; private byte _openingIterations = 0; @@ -1010,7 +1009,7 @@ namespace UVtools.WPF set => RaiseAndSetIfChanged(ref _removeEmptyLayers, value); } - public byte RemoveIslandsBelowEqualPixels + public ushort RemoveIslandsBelowEqualPixels { get => _removeIslandsBelowEqualPixels; set => RaiseAndSetIfChanged(ref _removeIslandsBelowEqualPixels, value); @@ -1041,6 +1040,44 @@ namespace UVtools.WPF } #endregion + #region Automations + + [Serializable] + public sealed class AutomationsUserSettings : BindableBase + { + private bool _saveFileAfterModifications = true; + private bool _autoConvertSl1Files = true; + private decimal _lightOffDelay = 2.5m; + private decimal _bottomLightOffDelay = 3m; + + public bool SaveFileAfterModifications + { + get => _saveFileAfterModifications; + set => RaiseAndSetIfChanged(ref _saveFileAfterModifications, value); + } + + public bool AutoConvertSL1Files + { + get => _autoConvertSl1Files; + set => RaiseAndSetIfChanged(ref _autoConvertSl1Files, value); + } + + + public decimal LightOffDelay + { + get => _lightOffDelay; + set => RaiseAndSetIfChanged(ref _lightOffDelay, value); + } + + public decimal BottomLightOffDelay + { + get => _bottomLightOffDelay; + set => RaiseAndSetIfChanged(ref _bottomLightOffDelay, value); + } + } + + #endregion + #endregion #region Singleton @@ -1088,6 +1125,7 @@ namespace UVtools.WPF private IssuesUserSettings _issues; private PixelEditorUserSettings _pixelEditor; private LayerRepairUserSettings _layerRepair; + private AutomationsUserSettings _automations; private ushort _settingsVersion = SETTINGS_VERSION; private string _appVersion; private uint _savesCount; @@ -1128,6 +1166,12 @@ namespace UVtools.WPF set => _layerRepair = value; } + public AutomationsUserSettings Automations + { + get => _automations ??= new AutomationsUserSettings(); + set => _automations = value; + } + /* /// <summary> /// Gets or sets the number of times this file has been reset to defaults |