From 4d006784f3bd2b3b8fdcfc5ad0adecd894eec307 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Fri, 12 Aug 2016 20:40:56 +0200 Subject: [PATCH] Editor fixes Fixed clicking on a layer selecting the wrong layer Fixed adding a layer after closing the edit-layer dialog not working Fixed pipe server buffer size --- Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs | 2 +- Artemis/Artemis/Profiles/ProfileModel.cs | 2 +- Artemis/Artemis/Utilities/DataReaders/PipeServer.cs | 2 +- Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs b/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs index c026b17c9..5b8a58cfb 100644 --- a/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs +++ b/Artemis/Artemis/Profiles/Layers/Models/LayerModel.cs @@ -123,7 +123,7 @@ namespace Artemis.Profiles.Layers.Models public IEnumerable GetLayers() { var layers = new List(); - foreach (var layerModel in Children) + foreach (var layerModel in Children.OrderBy(c => c.Order)) { layers.Add(layerModel); layers.AddRange(layerModel.GetLayers()); diff --git a/Artemis/Artemis/Profiles/ProfileModel.cs b/Artemis/Artemis/Profiles/ProfileModel.cs index 2e96a518f..6b97360b3 100644 --- a/Artemis/Artemis/Profiles/ProfileModel.cs +++ b/Artemis/Artemis/Profiles/ProfileModel.cs @@ -74,7 +74,7 @@ namespace Artemis.Profiles public List GetLayers() { var layers = new List(); - foreach (var layerModel in Layers) + foreach (var layerModel in Layers.OrderBy(l => l.Order)) { layers.Add(layerModel); layers.AddRange(layerModel.GetLayers()); diff --git a/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs b/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs index e0968233d..89b96b0b4 100644 --- a/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs +++ b/Artemis/Artemis/Utilities/DataReaders/PipeServer.cs @@ -55,7 +55,7 @@ namespace Artemis.Utilities.DataReaders var buffer = new byte[4096]; // Read the incoming message - pipeServer.Read(buffer, 0, 255); + pipeServer.Read(buffer, 0, 4096); // Convert byte buffer to string var stringData = Encoding.ASCII.GetString(buffer, 0, buffer.Length); diff --git a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs index 34a272f6e..69ff51984 100644 --- a/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs +++ b/Artemis/Artemis/ViewModels/Profiles/ProfileEditorViewModel.cs @@ -422,6 +422,8 @@ namespace Artemis.ViewModels.Profiles { // Update the UI Layers.Clear(); + ProfileViewModel.SelectedLayer = null; + if (SelectedProfile != null) Layers.AddRange(SelectedProfile.Layers); @@ -431,7 +433,7 @@ namespace Artemis.ViewModels.Profiles // A small delay to allow the profile list to rebuild Task.Factory.StartNew(() => { - Thread.Sleep(20); + Thread.Sleep(100); ProfileViewModel.SelectedLayer = selectModel; }); }