Refactor folder addition logic and update IPC handlers
This commit is contained in:
52
main.js
52
main.js
@@ -778,15 +778,9 @@ function buildTrayMenu() {
|
|||||||
ipcMain.handle('get-folders', () => store.get('folders'));
|
ipcMain.handle('get-folders', () => store.get('folders'));
|
||||||
|
|
||||||
|
|
||||||
// Ordner hinzufügen: Open-Dialog, init, Store-Update, watchen, monitoren
|
|
||||||
ipcMain.handle('add-folder', async () => {
|
// (1) Die Kernfunktion
|
||||||
const { canceled, filePaths } = await dialog.showOpenDialog({
|
async function addFolderByPath(newFolder) {
|
||||||
properties: ['openDirectory']
|
|
||||||
});
|
|
||||||
if (canceled || !filePaths[0]) {
|
|
||||||
return store.get('folders');
|
|
||||||
}
|
|
||||||
const newFolder = filePaths[0];
|
|
||||||
await initGitRepo(newFolder);
|
await initGitRepo(newFolder);
|
||||||
|
|
||||||
// HEAD-Hash holen
|
// HEAD-Hash holen
|
||||||
@@ -799,13 +793,7 @@ function buildTrayMenu() {
|
|||||||
let folders = store.get('folders') || [];
|
let folders = store.get('folders') || [];
|
||||||
let folderObj = folders.find(f => f.path === newFolder);
|
let folderObj = folders.find(f => f.path === newFolder);
|
||||||
if (!folderObj) {
|
if (!folderObj) {
|
||||||
folderObj = {
|
folderObj = { path: newFolder, monitoring: true, linesChanged: 0, llmCandidates: [], lastHeadHash };
|
||||||
path: newFolder,
|
|
||||||
monitoring: true,
|
|
||||||
linesChanged: 0,
|
|
||||||
llmCandidates: [],
|
|
||||||
lastHeadHash // <--- Hinzufügen!
|
|
||||||
};
|
|
||||||
folders.push(folderObj);
|
folders.push(folderObj);
|
||||||
store.set('folders', folders);
|
store.set('folders', folders);
|
||||||
} else {
|
} else {
|
||||||
@@ -816,8 +804,40 @@ function buildTrayMenu() {
|
|||||||
watchRepo(newFolder, win);
|
watchRepo(newFolder, win);
|
||||||
startMonitoringWatcher(newFolder, win);
|
startMonitoringWatcher(newFolder, win);
|
||||||
return store.get('folders');
|
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
|
// Ordner entfernen: Watcher schließen, Store-Update
|
||||||
ipcMain.handle('remove-folder', (_e, folderObj) => {
|
ipcMain.handle('remove-folder', (_e, folderObj) => {
|
||||||
const folders = store.get('folders') || [];
|
const folders = store.get('folders') || [];
|
||||||
|
|||||||
Reference in New Issue
Block a user