[미리보기] 버튼 상태 저장, 앱 실행시 직전 상태 적용
This commit is contained in:
@@ -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 };
|
||||||
@@ -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),
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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'));
|
||||||
|
|||||||
Reference in New Issue
Block a user