From 52b6a60d02acf00d3b7d565fec6dc86be083143c Mon Sep 17 00:00:00 2001 From: pizzaboxer Date: Sun, 23 Jul 2023 18:25:39 +0100 Subject: [PATCH] Re-add FastFlag struct class forgot keyvaluepairs arent editable :( --- Bloxstrap/Models/FastFlag.cs | 9 +++ .../Menu/Pages/FastFlagEditorPage.xaml | 2 +- .../Menu/Pages/FastFlagEditorPage.xaml.cs | 58 +++++++++++++++---- 3 files changed, 56 insertions(+), 13 deletions(-) create mode 100644 Bloxstrap/Models/FastFlag.cs diff --git a/Bloxstrap/Models/FastFlag.cs b/Bloxstrap/Models/FastFlag.cs new file mode 100644 index 0000000..e2372e1 --- /dev/null +++ b/Bloxstrap/Models/FastFlag.cs @@ -0,0 +1,9 @@ +namespace Bloxstrap.Models +{ + public class FastFlag + { + // public bool Enabled { get; set; } + public string Name { get; set; } = null!; + public string Value { get; set; } = null!; + } +} diff --git a/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml b/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml index 03cb28b..9160600 100644 --- a/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml +++ b/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml @@ -75,7 +75,7 @@ - + diff --git a/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml.cs b/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml.cs index 3d4c3ba..2815215 100644 --- a/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml.cs +++ b/Bloxstrap/UI/Elements/Menu/Pages/FastFlagEditorPage.xaml.cs @@ -17,7 +17,7 @@ namespace Bloxstrap.UI.Elements.Menu.Pages // believe me when i say there is absolutely zero point to using mvvm for this // using a datagrid is a codebehind thing only and thats it theres literally no way around it - private readonly ObservableCollection> _fastFlagList = new(); + private readonly ObservableCollection _fastFlagList = new(); private bool _showPresets = false; public FastFlagEditorPage() @@ -31,11 +31,24 @@ namespace Bloxstrap.UI.Elements.Menu.Pages var presetFlags = FastFlagManager.PresetFlags.Values; - foreach (var entry in App.FastFlags.Prop) + foreach (var pair in App.FastFlags.Prop) { - if (!_showPresets && presetFlags.Contains(entry.Key)) + if (!_showPresets && presetFlags.Contains(pair.Key)) continue; + var entry = new FastFlag + { + // Enabled = true, + Name = pair.Key, + Value = pair.Value + }; + + /* if (entry.Name.StartsWith("Disable")) + { + entry.Enabled = false; + entry.Name = entry.Name[7..]; + } */ + _fastFlagList.Add(entry); } @@ -48,14 +61,30 @@ namespace Bloxstrap.UI.Elements.Menu.Pages private void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { int index = e.Row.GetIndex(); - var entry = _fastFlagList[index]; + FastFlag entry = _fastFlagList[index]; switch (e.Column.Header) { + /* case "Enabled": + bool enabled = (bool)((CheckBox)e.EditingElement).IsChecked!; + + if (enabled) + { + App.FastFlags.SetValue(entry.Name, entry.Value); + App.FastFlags.SetValue($"Disable{entry.Name}", null); + } + else + { + App.FastFlags.SetValue(entry.Name, null); + App.FastFlags.SetValue($"Disable{entry.Name}", entry.Value); + } + + break; */ + case "Name": string newName = ((TextBox)e.EditingElement).Text; - App.FastFlags.SetValue(entry.Key, null); + App.FastFlags.SetValue(entry.Name, null); App.FastFlags.SetValue(newName, entry.Value); break; @@ -63,7 +92,7 @@ namespace Bloxstrap.UI.Elements.Menu.Pages case "Value": string newValue = ((TextBox)e.EditingElement).Text; - App.FastFlags.SetValue(entry.Key, newValue); + App.FastFlags.SetValue(entry.Name, newValue); break; } @@ -83,24 +112,29 @@ namespace Bloxstrap.UI.Elements.Menu.Pages if (dialog.Result != MessageBoxResult.OK) return; - var entry = new KeyValuePair(dialog.FlagNameTextBox.Text, dialog.FlagValueTextBox.Text); + var entry = new FastFlag + { + // Enabled = true, + Name = dialog.FlagNameTextBox.Text, + Value = dialog.FlagValueTextBox.Text + }; _fastFlagList.Add(entry); - App.FastFlags.SetValue(entry.Key, entry.Value); + App.FastFlags.SetValue(entry.Name, entry.Value); } private void DeleteButton_Click(object sender, RoutedEventArgs e) { - var tempList = new List>(); + var tempList = new List(); - foreach (KeyValuePair entry in DataGrid.SelectedItems) + foreach (FastFlag entry in DataGrid.SelectedItems) tempList.Add(entry); - foreach (var entry in tempList) + foreach (FastFlag entry in tempList) { _fastFlagList.Remove(entry); - App.FastFlags.SetValue(entry.Key, null); + App.FastFlags.SetValue(entry.Name, null); } }