@@ -57,16 +57,24 @@ public async Task ShowAndHandleModalEditDialogAsync(IEnumerable<Track> tracks)
5757 var length = editMultipleTracksModalResult . EditedTrack . Length ;
5858 var preGap = editMultipleTracksModalResult . EditedTrack . PreGap ;
5959 var postGap = editMultipleTracksModalResult . EditedTrack . PostGap ;
60- Boolean copyTrackPosition = editMultipleTracksModalResult . PositionChanged ;
61- Boolean copyTrackBegin = editMultipleTracksModalResult . BeginChanged ;
62- Boolean copyTrackEnd = editMultipleTracksModalResult . EndChanged ;
63- Boolean copyTrackLength = editMultipleTracksModalResult . LengthChanged ;
64- Boolean copyTrackPreGap = editMultipleTracksModalResult . PregapChanged ;
65- Boolean copyTrackPostGap = editMultipleTracksModalResult . PostgapChanged ;
66- //First process dynamic edit, because we need to increase each value seperately
60+ Boolean copyIsLinkedToPreviousTrack = editMultipleTracksModalResult . IsLinkedToPreviousTrackEditMode == DynamicEditValue . EnteredValueEquals ;
61+ Boolean copyTrackPosition = true ;
62+ Boolean copyTrackArtist = editMultipleTracksModalResult . ArtistEditMode == DynamicEditValue . EnteredValueEquals ;
63+ Boolean copyTrackTitle = editMultipleTracksModalResult . TitleEditMode == DynamicEditValue . EnteredValueEquals ;
64+ Boolean copyTrackBegin = true ;
65+ Boolean copyTrackEnd = true ;
66+ Boolean copyTrackLength = true ;
67+ Boolean copyTrackFlags = editMultipleTracksModalResult . FlagsEditMode == DynamicEditValue . EnteredValueEquals ;
68+ Boolean copyTrackPreGap = true ;
69+ Boolean copyTrackPostGap = true ;
70+ //First process dynamic edit, because we need to increase each value separately
6771 switch ( editMultipleTracksModalResult . PositionEditMode )
6872 {
73+ case DynamicEditValue . DoNotChange :
74+ copyTrackPosition = false ;
75+ break ;
6976 case DynamicEditValue . EnteredValueEquals :
77+ copyTrackPosition = true ;
7078 break ;
7179 case DynamicEditValue . EnteredValueAdd :
7280 editMultipleTracksModalResult . EditedTrack . Position += track . Position ;
@@ -83,7 +91,11 @@ public async Task ShowAndHandleModalEditDialogAsync(IEnumerable<Track> tracks)
8391 }
8492 switch ( editMultipleTracksModalResult . BeginEditMode )
8593 {
94+ case DynamicEditValue . DoNotChange :
95+ copyTrackBegin = false ;
96+ break ;
8697 case DynamicEditValue . EnteredValueEquals :
98+ copyTrackBegin = true ;
8799 break ;
88100 case DynamicEditValue . EnteredValueAdd :
89101 var newValue = editMultipleTracksModalResult . EditedTrack . Begin + track . Begin ;
@@ -100,7 +112,11 @@ public async Task ShowAndHandleModalEditDialogAsync(IEnumerable<Track> tracks)
100112 }
101113 switch ( editMultipleTracksModalResult . EndEditMode )
102114 {
115+ case DynamicEditValue . DoNotChange :
116+ copyTrackEnd = false ;
117+ break ;
103118 case DynamicEditValue . EnteredValueEquals :
119+ copyTrackEnd = true ;
104120 break ;
105121 case DynamicEditValue . EnteredValueAdd :
106122 var newValue = editMultipleTracksModalResult . EditedTrack . End + track . End ;
@@ -117,7 +133,11 @@ public async Task ShowAndHandleModalEditDialogAsync(IEnumerable<Track> tracks)
117133 }
118134 switch ( editMultipleTracksModalResult . LengthEditMode )
119135 {
136+ case DynamicEditValue . DoNotChange :
137+ copyTrackLength = false ;
138+ break ;
120139 case DynamicEditValue . EnteredValueEquals :
140+ copyTrackLength = true ;
121141 break ;
122142 case DynamicEditValue . EnteredValueAdd :
123143 var newValue = editMultipleTracksModalResult . EditedTrack . Length + track . Length ;
@@ -134,7 +154,11 @@ public async Task ShowAndHandleModalEditDialogAsync(IEnumerable<Track> tracks)
134154 }
135155 switch ( editMultipleTracksModalResult . PregapEditMode )
136156 {
157+ case DynamicEditValue . DoNotChange :
158+ copyTrackPreGap = false ;
159+ break ;
137160 case DynamicEditValue . EnteredValueEquals :
161+ copyTrackPreGap = true ;
138162 break ;
139163 case DynamicEditValue . EnteredValueAdd :
140164 var newValue = editMultipleTracksModalResult . EditedTrack . PreGap + track . PreGap ;
@@ -151,7 +175,11 @@ public async Task ShowAndHandleModalEditDialogAsync(IEnumerable<Track> tracks)
151175 }
152176 switch ( editMultipleTracksModalResult . PostgapEditMode )
153177 {
178+ case DynamicEditValue . DoNotChange :
179+ copyTrackPostGap = false ;
180+ break ;
154181 case DynamicEditValue . EnteredValueEquals :
182+ copyTrackPostGap = true ;
155183 break ;
156184 case DynamicEditValue . EnteredValueAdd :
157185 var newValue = editMultipleTracksModalResult . EditedTrack . PostGap + track . PostGap ;
@@ -173,7 +201,7 @@ public async Task ShowAndHandleModalEditDialogAsync(IEnumerable<Track> tracks)
173201 editMultipleTracksModalResult . EditedTrack . PreGap = preGap ;
174202 editMultipleTracksModalResult . EditedTrack . PostGap = postGap ;
175203 //Now copy all values
176- track . CopyValues ( editMultipleTracksModalResult . EditedTrack , setCuesheet : false , setIsLinkedToPreviousTrack : editMultipleTracksModalResult . IsLinkedToPreviousTrackChanged , setPosition : copyTrackPosition , setArtist : editMultipleTracksModalResult . ArtistChanged , setTitle : editMultipleTracksModalResult . TitleChanged , setBegin : copyTrackBegin , setEnd : copyTrackEnd , setLength : copyTrackLength , setFlags : editMultipleTracksModalResult . FlagsChanged , setPreGap : copyTrackPreGap , setPostGap : copyTrackPostGap ) ;
204+ track . CopyValues ( editMultipleTracksModalResult . EditedTrack , setCuesheet : false , setIsLinkedToPreviousTrack : copyIsLinkedToPreviousTrack , setPosition : copyTrackPosition , setArtist : copyTrackArtist , setTitle : copyTrackTitle , setBegin : copyTrackBegin , setEnd : copyTrackEnd , setLength : copyTrackLength , setFlags : copyTrackFlags , setPreGap : copyTrackPreGap , setPostGap : copyTrackPostGap ) ;
177205 }
178206 }
179207 }
0 commit comments