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

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('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 };
+2
View File
@@ -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),
});
+1 -1
View File
@@ -31,7 +31,7 @@
<button class="sort-btn" id="btn-sort-date">날짜순</button>
</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>
<form id="format-bar">
+7 -1
View File
@@ -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'));