File tree Expand file tree Collapse file tree 2 files changed +22
-1
lines changed
Expand file tree Collapse file tree 2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 11import { Localize } from '../../modules/Localize.mjs' ;
22import { IndexedDBManager } from '../../network/IndexedDBManager.mjs' ;
33import { AudioUtils } from '../../utils/AudioUtils.mjs' ;
4+ import { StringUtils } from '../../utils/StringUtils.mjs' ;
45import { WebUtils } from '../../utils/WebUtils.mjs' ;
56import { AbstractAudioModule } from './AbstractAudioModule.mjs' ;
67import { AudioConvolverControl } from './config/AudioConvolverControl.mjs' ;
@@ -125,7 +126,7 @@ export class OutputConvolver extends AbstractAudioModule {
125126 }
126127 channel . enableCheckbox . checked = channelConfig . enabled ;
127128 channel . normalizeCheckbox . checked = channelConfig . normalize ;
128- channel . fileButton . textContent = channel . fileName ? channel . fileName : Localize . getMessage ( 'audioconvolver_selectfile' ) ;
129+ channel . fileButton . textContent = channel . fileName ? StringUtils . truncateFilename ( channel . fileName , 32 ) : Localize . getMessage ( 'audioconvolver_selectfile' ) ;
129130 channel . fileButton . classList . toggle ( 'has_file' , ! ! channel . fileName ) ;
130131 }
131132 }
Original file line number Diff line number Diff line change @@ -316,4 +316,24 @@ export class StringUtils {
316316 const end = parseInt ( match [ 2 ] , 10 ) ;
317317 return [ start , end ] ;
318318 }
319+
320+ static truncateFilename ( filename , maxLength ) {
321+ const extIndex = filename . lastIndexOf ( '.' ) ;
322+ const ext = extIndex !== - 1 ? filename . slice ( extIndex ) : '' ;
323+ const name = extIndex !== - 1 ? filename . slice ( 0 , extIndex ) : filename ;
324+
325+ if ( filename . length <= maxLength ) {
326+ return filename ;
327+ }
328+
329+ // max ext length is 5 chars
330+ const maxExtLength = Math . min ( ext . length , 5 ) ;
331+ const maxNameLength = maxLength - maxExtLength - 3 ; // 3 for "..."
332+
333+ if ( maxNameLength <= 0 ) {
334+ return '...' + ext . slice ( 0 , maxExtLength ) ;
335+ }
336+
337+ return name . slice ( 0 , maxNameLength ) + '...' + ext ;
338+ }
319339}
You can’t perform that action at this time.
0 commit comments