1
0

Refactor folder addition logic and update IPC handlers

This commit is contained in:
2025-05-25 06:39:15 +02:00
parent a3c0b5e5b0
commit 0b95e5240c

52
main.js
View File

@@ -778,15 +778,9 @@ function buildTrayMenu() {
ipcMain.handle('get-folders', () => store.get('folders'));
// Ordner hinzufügen: Open-Dialog, init, Store-Update, watchen, monitoren
ipcMain.handle('add-folder', async () => {
const { canceled, filePaths } = await dialog.showOpenDialog({
properties: ['openDirectory']
});
if (canceled || !filePaths[0]) {
return store.get('folders');
}
const newFolder = filePaths[0];
// (1) Die Kernfunktion
async function addFolderByPath(newFolder) {
await initGitRepo(newFolder);
// HEAD-Hash holen
@@ -799,13 +793,7 @@ function buildTrayMenu() {
let folders = store.get('folders') || [];
let folderObj = folders.find(f => f.path === newFolder);
if (!folderObj) {
folderObj = {
path: newFolder,
monitoring: true,
linesChanged: 0,
llmCandidates: [],
lastHeadHash // <--- Hinzufügen!
};
folderObj = { path: newFolder, monitoring: true, linesChanged: 0, llmCandidates: [], lastHeadHash };
folders.push(folderObj);
store.set('folders', folders);
} else {
@@ -816,8 +804,40 @@ function buildTrayMenu() {
watchRepo(newFolder, win);
startMonitoringWatcher(newFolder, win);
return store.get('folders');
}
// (2) Die IPC-Handler anpassen:
ipcMain.handle('add-folder', async () => {
const { canceled, filePaths } = await dialog.showOpenDialog({
properties: ['openDirectory']
});
if (canceled || !filePaths[0]) {
return store.get('folders');
}
return await addFolderByPath(filePaths[0]);
});
ipcMain.handle('add-folder-by-path', async (_e, folderPath) => {
return await addFolderByPath(folderPath);
});
// Ordner hinzufügen: Open-Dialog, init, Store-Update, watchen, monitoren
ipcMain.handle('add-folder', async () => {
const { canceled, filePaths } = await dialog.showOpenDialog({
properties: ['openDirectory']
});
if (canceled || !filePaths[0]) {
return store.get('folders');
}
const newFolder = filePaths[0];
// Ordner entfernen: Watcher schließen, Store-Update
ipcMain.handle('remove-folder', (_e, folderObj) => {
const folders = store.get('folders') || [];