aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index b75a84a6c..55ef56ce4 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -1708,7 +1708,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
LogManager.Log("Setting selected segment...");
- _selectedSegment = ActiveJob.Segments.FirstOrDefault();
+ _selectedSegment = ActiveJob.OrderedSegments.FirstOrDefault();
ActiveJob.LengthChanged -= ActiveJob_LengthChanged;
ActiveJob.LengthChanged += ActiveJob_LengthChanged;
@@ -2153,10 +2153,14 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
LogManager.LogFormat("Duplicating {0} segments...", SelectedSegments.Count);
+ int start_index = SelectedSegments.Max(x => x.SegmentIndex);
+
+ ActiveJob.Segments.Where(x => x.SegmentIndex > start_index).ToList().ForEach(x => x.SegmentIndex = x.SegmentIndex + SelectedSegments.Count);
+
foreach (var segment in SelectedSegments.OrderBy(x => x.SegmentIndex))
{
var cloned = segment.Clone();
- cloned.SegmentIndex = ActiveJob.Segments.Max(x => x.SegmentIndex) + 1;
+ cloned.SegmentIndex = start_index++;
ActiveJob.Segments.Add(cloned);
SelectedSegment = cloned;
}