From d1df10d060624b7779cb351d19741945ddd6830f Mon Sep 17 00:00:00 2001 From: Mbucari <37587114+Mbucari@users.noreply.github.com> Date: Tue, 11 Jul 2023 20:52:43 -0600 Subject: [PATCH] Add products grid scaling setting - Add Grid Scaling Settings - Add WinForms DPI migration to remove stored form sizes - Add textbox clear button --- Source/FileManager/PersistentDictionary.cs | 29 ++ .../Controls/MyRatingCellEditor.axaml | 3 - .../Controls/Settings/Important.axaml | 66 ++- .../Settings/ImportantSettingsVM.cs | 18 + .../Views/LiberateStatusButton.axaml | 87 ++-- .../Views/ProductsDisplay.axaml | 51 ++- .../Views/ProductsDisplay.axaml.cs | 96 ++++- .../Configuration.PersistentSettings.cs | 8 + .../GridView/GridEntry[TStatus].cs | 2 +- .../ClearableTextBox.Designer.cs | 73 ++++ Source/LibationWinForms/ClearableTextBox.cs | 44 ++ Source/LibationWinForms/ClearableTextBox.resx | 120 ++++++ ...DirectoryOrCustomSelectControl.Designer.cs | 31 +- .../Dialogs/DirectoryOrCustomSelectControl.cs | 6 + .../DirectorySelectControl.Designer.cs | 13 +- .../Dialogs/DirectorySelectControl.cs | 6 + .../Dialogs/LibationFilesDialog.Designer.cs | 30 +- .../Dialogs/SettingsDialog.Designer.cs | 112 +++++- .../Dialogs/SettingsDialog.Important.cs | 43 +- Source/LibationWinForms/Form1.Designer.cs | 13 +- Source/LibationWinForms/Form1.Filter.cs | 4 + .../GridView/CoverGridViewColumn.cs | 36 -- .../GridView/DataGridViewImageButtonCell.cs | 6 +- .../EditTagsDataGridViewImageButtonColumn.cs | 8 +- .../LiberateDataGridViewImageButtonColumn.cs | 4 +- .../GridView/MyRatingCellEditor.Designer.cs | 16 - .../GridView/MyRatingCellEditor.cs | 7 + .../GridView/ProductsGrid.Designer.cs | 378 +++++++++--------- .../LibationWinForms/GridView/ProductsGrid.cs | 77 +++- .../GridView/ProductsGrid.resx | 62 ++- Source/LibationWinForms/Program.cs | 11 + Source/LibationWinForms/WinFormsUtil.cs | 10 +- 32 files changed, 1043 insertions(+), 427 deletions(-) create mode 100644 Source/LibationWinForms/ClearableTextBox.Designer.cs create mode 100644 Source/LibationWinForms/ClearableTextBox.cs create mode 100644 Source/LibationWinForms/ClearableTextBox.resx delete mode 100644 Source/LibationWinForms/GridView/CoverGridViewColumn.cs diff --git a/Source/FileManager/PersistentDictionary.cs b/Source/FileManager/PersistentDictionary.cs index 99a2de79..41918e99 100644 --- a/Source/FileManager/PersistentDictionary.cs +++ b/Source/FileManager/PersistentDictionary.cs @@ -131,6 +131,35 @@ namespace FileManager writeFile(propertyName, parsedNewValue); } + public bool RemoveProperty(string propertyName) + { + if (IsReadOnly) + return false; + + var success = false; + try + { + lock (locker) + { + var jObject = readFile(); + + if (!jObject.ContainsKey(propertyName)) + return false; + + jObject.Remove(propertyName); + + var endContents = JsonConvert.SerializeObject(jObject, Formatting.Indented); + + File.WriteAllText(Filepath, endContents); + success = true; + } + Serilog.Log.Logger.Information("Removed property. {@DebugInfo}", propertyName); + } + catch { } + + return success; + } + private void writeFile(string propertyName, JToken newValue) { if (IsReadOnly) diff --git a/Source/LibationAvalonia/Controls/MyRatingCellEditor.axaml b/Source/LibationAvalonia/Controls/MyRatingCellEditor.axaml index c477ba16..ec58d8ab 100644 --- a/Source/LibationAvalonia/Controls/MyRatingCellEditor.axaml +++ b/Source/LibationAvalonia/Controls/MyRatingCellEditor.axaml @@ -8,9 +8,6 @@ - diff --git a/Source/LibationAvalonia/Controls/Settings/Important.axaml b/Source/LibationAvalonia/Controls/Settings/Important.axaml index 528dbb56..e7e4c828 100644 --- a/Source/LibationAvalonia/Controls/Settings/Important.axaml +++ b/Source/LibationAvalonia/Controls/Settings/Important.axaml @@ -2,18 +2,18 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - mc:Ignorable="d" d:DesignWidth="600" d:DesignHeight="450" + mc:Ignorable="d" d:DesignWidth="700" d:DesignHeight="600" xmlns:controls="clr-namespace:LibationAvalonia.Controls" xmlns:vm="clr-namespace:LibationAvalonia.ViewModels.Settings" x:DataType="vm:ImportantSettingsVM" x:Class="LibationAvalonia.Controls.Settings.Important"> - + - + - + - + + + + + + + + + + + + - diff --git a/Source/LibationAvalonia/Views/ProductsDisplay.axaml b/Source/LibationAvalonia/Views/ProductsDisplay.axaml index 2df7e0d1..640391e4 100644 --- a/Source/LibationAvalonia/Views/ProductsDisplay.axaml +++ b/Source/LibationAvalonia/Views/ProductsDisplay.axaml @@ -20,9 +20,6 @@ CanUserReorderColumns="True"> - @@ -31,7 +28,6 @@ -