@@ -153,18 +153,20 @@ pub fn async_add_item_to_track(ui_weak: Weak<AppWindow>, name: String, file_path
153153 }
154154 } ;
155155
156- let ( segment_index, segment_uuid, inserted_track_index) =
157- if let Some ( track_index) = created_track_index {
158- let track = tracks_manager
159- . get ( track_index)
160- . expect ( "already crate a new track" ) ;
161- let segment = track
162- . segments ( )
163- . first ( )
164- . expect ( "already add segment to the track" ) ;
165- ( 0 , segment. uuid . clone ( ) , track_index)
166- } else {
167- let track_index = current_track_index. max ( 0 ) as usize ;
156+ let ( segment_index, segment_uuid, inserted_track_index) = if let Some ( track_index) =
157+ created_track_index
158+ {
159+ let track = tracks_manager
160+ . get ( track_index)
161+ . expect ( "already crate a new track" ) ;
162+ let segment = track
163+ . segments ( )
164+ . first ( )
165+ . expect ( "already add segment to the track" ) ;
166+ ( 0 , segment. uuid . clone ( ) , track_index)
167+ } else {
168+ let track_index = current_track_index. max ( 0 ) as usize ;
169+ let ( segment_index, segment_uuid) = {
168170 let Some ( track) = tracks_manager. get_mut ( track_index) else {
169171 crate :: toast_warn!( ui, "Already found the edited track. But no found" ) ;
170172 return ;
@@ -183,8 +185,11 @@ pub fn async_add_item_to_track(ui_weak: Weak<AppWindow>, name: String, file_path
183185 ) ) ;
184186 track. add_segment ( segment. clone ( ) ) ;
185187 let segment_index = track. segments_count ( ) - 1 ;
186- ( segment_index, segment. uuid . clone ( ) , track_index )
188+ ( segment_index, segment. uuid . clone ( ) )
187189 } ;
190+ tracks_manager. update_duration ( ) ;
191+ ( segment_index, segment_uuid, track_index)
192+ } ;
188193
189194 {
190195 let mut state = PROJECT_STATE . lock ( ) . unwrap ( ) ;
0 commit comments