diff --git a/ui/src/main.js b/ui/src/main.js index 6a4baf5..3e979db 100644 --- a/ui/src/main.js +++ b/ui/src/main.js @@ -346,13 +346,13 @@ function registerIpc() { }); if (r.canceled || !r.filePaths.length) return { ok: false, canceled: true }; for (const f of r.filePaths) allowRoot(path.dirname(f)); - return { ok: true, ...buildInputs(r.filePaths) }; + return { ok: true, paths: r.filePaths, ...buildInputs(r.filePaths) }; }); handle('inputs:pick-folder', async () => { const r = await dialog.showOpenDialog({ title: 'Add a folder (recursive)', properties: ['openDirectory'] }); if (r.canceled || !r.filePaths.length) return { ok: false, canceled: true }; for (const d of r.filePaths) allowRoot(d); - return { ok: true, ...buildInputs(r.filePaths) }; + return { ok: true, paths: r.filePaths, ...buildInputs(r.filePaths) }; }); handle('inputs:scan', (e, paths) => { const list = Array.isArray(paths) ? paths : [paths]; diff --git a/ui/src/renderer/app.js b/ui/src/renderer/app.js index 89d75aa..c3cf41d 100644 --- a/ui/src/renderer/app.js +++ b/ui/src/renderer/app.js @@ -474,11 +474,31 @@ function bind() { // 输入 $('btn-add-files').onclick = async () => { const r = await api.pickFiles(); - if (r.ok) await addPaths(r.paths); + if (r.ok) { + if (r.list) { + mergeInputs(r.list); + if (r.truncated) { + $('input-more').classList.remove('hidden'); + $('input-more').textContent = '列表过长,仅扫描了前若干文件。'; + } + } else if (r.paths) { + await addPaths(r.paths); + } + } }; $('btn-add-folder').onclick = async () => { const r = await api.pickFolder(); - if (r.ok) await addPaths(r.paths); + if (r.ok) { + if (r.list) { + mergeInputs(r.list); + if (r.truncated) { + $('input-more').classList.remove('hidden'); + $('input-more').textContent = '列表过长,仅扫描了前若干文件。'; + } + } else if (r.paths) { + await addPaths(r.paths); + } + } }; $('btn-clear-inputs').onclick = () => { S.inputs = []; renderInputs(); };