Skip to content

Commit 6776ae4

Browse files
committed
Truncate file names
1 parent 13e67c9 commit 6776ae4

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

chrome/player/ui/audio/OutputConvolver.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {Localize} from '../../modules/Localize.mjs';
22
import {IndexedDBManager} from '../../network/IndexedDBManager.mjs';
33
import {AudioUtils} from '../../utils/AudioUtils.mjs';
4+
import {StringUtils} from '../../utils/StringUtils.mjs';
45
import {WebUtils} from '../../utils/WebUtils.mjs';
56
import {AbstractAudioModule} from './AbstractAudioModule.mjs';
67
import {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
}

chrome/player/utils/StringUtils.mjs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)