From 1c8a4cc2fe792323198c8bea0c37a4f879361469 Mon Sep 17 00:00:00 2001 From: jisangs Date: Fri, 15 May 2026 16:58:49 +0900 Subject: [PATCH] =?UTF-8?q?[=EB=AF=B8=EB=A6=AC=EB=B3=B4=EA=B8=B0]=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EC=83=81=ED=83=9C=20=EC=A0=80=EC=9E=A5,?= =?UTF-8?q?=20=EC=95=B1=20=EC=8B=A4=ED=96=89=EC=8B=9C=20=EC=A7=81=EC=A0=84?= =?UTF-8?q?=20=EC=83=81=ED=83=9C=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/ipc/folder.js | 11 +++++++++++ src/preload/index.js | 2 ++ src/renderer/index.html | 2 +- src/renderer/renderer.js | 8 +++++++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/ipc/folder.js b/src/main/ipc/folder.js index 081d2aa..6f36724 100644 --- a/src/main/ipc/folder.js +++ b/src/main/ipc/folder.js @@ -57,6 +57,17 @@ function register(mainWindow) { }); ipcMain.handle('reveal-folder', (_e, folderPath) => shell.openPath(folderPath)); + + ipcMain.handle('get-preview-on', () => { + const cfg = readConfig(); + return cfg.previewOn !== false; // 기본값 true + }); + + ipcMain.handle('set-preview-on', (_e, on) => { + const cfg = readConfig(); + cfg.previewOn = on; + writeConfig(cfg); + }); } module.exports = { register }; \ No newline at end of file diff --git a/src/preload/index.js b/src/preload/index.js index 61bfdde..a99b63f 100644 --- a/src/preload/index.js +++ b/src/preload/index.js @@ -11,6 +11,8 @@ contextBridge.exposeInMainWorld('api', { setLastFolder: (p) => ipcRenderer.invoke('set-last-folder', p), listDirectories: (p) => ipcRenderer.invoke('list-directories', p), revealFolder: (p) => ipcRenderer.invoke('reveal-folder', p), + getPreviewOn: () => ipcRenderer.invoke('get-preview-on'), + setPreviewOn: (on) => ipcRenderer.invoke('set-preview-on', on), checkFilesExist: (folder, names) => ipcRenderer.invoke('check-files-exist', folder, names), moveFiles: (args) => ipcRenderer.invoke('move-files', args), }); diff --git a/src/renderer/index.html b/src/renderer/index.html index 3b55b14..71aefaf 100644 --- a/src/renderer/index.html +++ b/src/renderer/index.html @@ -31,7 +31,7 @@
- +
diff --git a/src/renderer/renderer.js b/src/renderer/renderer.js index 3494466..d2bf384 100644 --- a/src/renderer/renderer.js +++ b/src/renderer/renderer.js @@ -64,10 +64,15 @@ window.api.onFullscreenChange((isFullscreen) => { // 앱 시작 시 마지막 폴더 또는 홈 디렉토리 로드 (async () => { - const [lastFolder, homeDir] = await Promise.all([ + const [lastFolder, homeDir, previewOn] = await Promise.all([ window.api.getLastFolder(), window.api.getHomeDir(), + window.api.getPreviewOn(), ]); + + btnPreviewToggle.classList.toggle('active', previewOn); + hoverPreview.setEnabled(previewOn); + const target = lastFolder || homeDir; await fileExplorer.loadTree(homeDir, target); await loadFolder(target); @@ -87,6 +92,7 @@ document.addEventListener('keydown', (e) => { btnPreviewToggle.addEventListener('click', () => { const on = btnPreviewToggle.classList.toggle('active'); hoverPreview.setEnabled(on); + window.api.setPreviewOn(on); }); btnSortName.addEventListener('click', () => sortFiles('name')); btnSortDate.addEventListener('click', () => sortFiles('date'));