diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/LayoutBackup.cs b/src/modules/fancyzones/editor/FancyZonesEditor/LayoutBackup.cs index feeb49724d..a245db0e26 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/LayoutBackup.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/LayoutBackup.cs @@ -12,7 +12,7 @@ namespace FancyZonesEditor { private LayoutModel _backup; private string _hotkeyBackup; - private List _defaultLayoutsBackup; + private Dictionary _defaultLayoutsBackup; public LayoutBackup() { @@ -30,7 +30,7 @@ namespace FancyZonesEditor } _hotkeyBackup = MainWindowSettingsModel.LayoutHotkeys.Key(model.Uuid); - _defaultLayoutsBackup = new List(MainWindowSettingsModel.DefaultLayouts.Layouts); + _defaultLayoutsBackup = new Dictionary(MainWindowSettingsModel.DefaultLayouts.Layouts); } public void Restore(LayoutModel layoutToRestore) diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/Models/DefaultLayoutsModel.cs b/src/modules/fancyzones/editor/FancyZonesEditor/Models/DefaultLayoutsModel.cs index 770c5ec626..8ae5e3ac84 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/Models/DefaultLayoutsModel.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/Models/DefaultLayoutsModel.cs @@ -13,7 +13,7 @@ namespace FancyZonesEditor.Models { private static int Count { get; } = Enum.GetValues(typeof(MonitorConfigurationType)).Length; - public List Layouts { get; } = new List(Count); + public Dictionary Layouts { get; } = new Dictionary(Count); public DefaultLayoutsModel() { @@ -36,12 +36,12 @@ namespace FancyZonesEditor.Models public void Reset(string uuid) { - if (Layouts[(int)MonitorConfigurationType.Horizontal].Uuid == uuid) + if (Layouts[MonitorConfigurationType.Horizontal].Uuid == uuid) { Set(MainWindowSettingsModel.TemplateModels[(int)LayoutType.PriorityGrid], MonitorConfigurationType.Horizontal); } - if (Layouts[(int)MonitorConfigurationType.Vertical].Uuid == uuid) + if (Layouts[MonitorConfigurationType.Vertical].Uuid == uuid) { Set(MainWindowSettingsModel.TemplateModels[(int)LayoutType.Rows], MonitorConfigurationType.Vertical); } @@ -49,23 +49,16 @@ namespace FancyZonesEditor.Models public void Set(LayoutModel layout, MonitorConfigurationType type) { - if (Layouts.Count <= (int)type) - { - Layouts.Insert((int)type, layout); - } - else - { - Layouts[(int)type] = layout; - } + Layouts[type] = layout; FirePropertyChanged(); } - public void Restore(List layouts) + public void Restore(Dictionary layouts) { - for (int i = 0; i < Count; i++) + foreach (var monitorConfigurationType in layouts.Keys) { - Set(layouts[i], (MonitorConfigurationType)i); + Set(layouts[monitorConfigurationType], monitorConfigurationType); } } diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/Models/LayoutModel.cs b/src/modules/fancyzones/editor/FancyZonesEditor/Models/LayoutModel.cs index 8968ef6e21..95b4f5f064 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/Models/LayoutModel.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/Models/LayoutModel.cs @@ -166,7 +166,7 @@ namespace FancyZonesEditor.Models { get { - return MainWindowSettingsModel.DefaultLayouts.Layouts[(int)MonitorConfigurationType.Vertical].Uuid == this.Uuid; + return MainWindowSettingsModel.DefaultLayouts.Layouts[MonitorConfigurationType.Vertical].Uuid == this.Uuid; } } @@ -174,7 +174,7 @@ namespace FancyZonesEditor.Models { get { - return MainWindowSettingsModel.DefaultLayouts.Layouts[(int)MonitorConfigurationType.Vertical].Uuid != this.Uuid; + return MainWindowSettingsModel.DefaultLayouts.Layouts[MonitorConfigurationType.Vertical].Uuid != this.Uuid; } } diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/Models/MainWindowSettingsModel.cs b/src/modules/fancyzones/editor/FancyZonesEditor/Models/MainWindowSettingsModel.cs index 0e5391f724..5e64d2fdb1 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/Models/MainWindowSettingsModel.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/Models/MainWindowSettingsModel.cs @@ -80,8 +80,8 @@ namespace FancyZonesEditor TemplateModels.Insert((int)LayoutType.PriorityGrid, priorityGridModel); // set default layouts - DefaultLayouts.Set(priorityGridModel, MonitorConfigurationType.Horizontal); DefaultLayouts.Set(rowsModel, MonitorConfigurationType.Vertical); + DefaultLayouts.Set(priorityGridModel, MonitorConfigurationType.Horizontal); } // IsShiftKeyPressed - is the shift key currently being held down