[미리보기] 버튼 상태 저장, 앱 실행시 직전 상태 적용

This commit is contained in:
2026-05-15 16:58:49 +09:00
parent 252e5727f4
commit 1c8a4cc2fe
4 changed files with 21 additions and 2 deletions
+11
View File
@@ -57,6 +57,17 @@ function register(mainWindow) {
}); });
ipcMain.handle('reveal-folder', (_e, folderPath) => shell.openPath(folderPath)); 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 }; module.exports = { register };
+2
View File
@@ -11,6 +11,8 @@ contextBridge.exposeInMainWorld('api', {
setLastFolder: (p) => ipcRenderer.invoke('set-last-folder', p), setLastFolder: (p) => ipcRenderer.invoke('set-last-folder', p),
listDirectories: (p) => ipcRenderer.invoke('list-directories', p), listDirectories: (p) => ipcRenderer.invoke('list-directories', p),
revealFolder: (p) => ipcRenderer.invoke('reveal-folder', 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), checkFilesExist: (folder, names) => ipcRenderer.invoke('check-files-exist', folder, names),
moveFiles: (args) => ipcRenderer.invoke('move-files', args), moveFiles: (args) => ipcRenderer.invoke('move-files', args),
}); });
+1 -1
View File
@@ -31,7 +31,7 @@
<button class="sort-btn" id="btn-sort-date">날짜순</button> <button class="sort-btn" id="btn-sort-date">날짜순</button>
</div> </div>
<div class="separator"></div> <div class="separator"></div>
<button class="btn btn-info active" id="btn-preview-toggle">미리보기</button> <button class="btn btn-info" id="btn-preview-toggle">미리보기</button>
</nav> </nav>
<form id="format-bar"> <form id="format-bar">
+7 -1
View File
@@ -64,10 +64,15 @@ window.api.onFullscreenChange((isFullscreen) => {
// 앱 시작 시 마지막 폴더 또는 홈 디렉토리 로드 // 앱 시작 시 마지막 폴더 또는 홈 디렉토리 로드
(async () => { (async () => {
const [lastFolder, homeDir] = await Promise.all([ const [lastFolder, homeDir, previewOn] = await Promise.all([
window.api.getLastFolder(), window.api.getLastFolder(),
window.api.getHomeDir(), window.api.getHomeDir(),
window.api.getPreviewOn(),
]); ]);
btnPreviewToggle.classList.toggle('active', previewOn);
hoverPreview.setEnabled(previewOn);
const target = lastFolder || homeDir; const target = lastFolder || homeDir;
await fileExplorer.loadTree(homeDir, target); await fileExplorer.loadTree(homeDir, target);
await loadFolder(target); await loadFolder(target);
@@ -87,6 +92,7 @@ document.addEventListener('keydown', (e) => {
btnPreviewToggle.addEventListener('click', () => { btnPreviewToggle.addEventListener('click', () => {
const on = btnPreviewToggle.classList.toggle('active'); const on = btnPreviewToggle.classList.toggle('active');
hoverPreview.setEnabled(on); hoverPreview.setEnabled(on);
window.api.setPreviewOn(on);
}); });
btnSortName.addEventListener('click', () => sortFiles('name')); btnSortName.addEventListener('click', () => sortFiles('name'));
btnSortDate.addEventListener('click', () => sortFiles('date')); btnSortDate.addEventListener('click', () => sortFiles('date'));