From 8b47ff3919c6854b8d1d0b8d4f5d0c727a1ce043 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Mon, 17 Nov 2025 19:10:09 -0600 Subject: [PATCH] Fixing file edit status; modified build options --- package.json | 5 ++++- src/app/editor/code-view/view.base.ts | 3 +++ src/app/editor/code-view/view.component.ts | 4 +++- src/app/editor/tabs/tabs.component.ts | 5 ++++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index ae9b832..165bc25 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,10 @@ "electron-start": "electron . --trace-warnings --start-as=build --ipc-port=4588", "electron-pack": "ng build --base-href ./ && electron-builder --dir", "electron-dist": "ng build --base-href ./ && electron-builder", - "electron-dist-linux": "ng build --base-href ./ && electron-builder --linux deb zip AppImage", + "electron-dist-appimage-linux": "ng build --base-href ./ && electron-builder --linux AppImage", + "electron-dist-deb-linux": "ng build --base-href ./ && electron-builder --linux deb", + "electron-dist-zip-linux": "ng build --base-href ./ && electron-builder --linux zip", + "electron-dist-all-linux": "ng build --base-href ./ && electron-builder --linux deb zip AppImage", "electron-dist-all": "ng build --base-href ./ && electron-builder -mwl", "electron-concurrently": "concurrently 'ng serve' 'electron . --trace-warnings --start-as=ng-serve'", "ng-serve": "ng serve", diff --git a/src/app/editor/code-view/view.base.ts b/src/app/editor/code-view/view.base.ts index 792f672..9c0f55f 100644 --- a/src/app/editor/code-view/view.base.ts +++ b/src/app/editor/code-view/view.base.ts @@ -314,11 +314,14 @@ export class CodeViewBase { protected saveFile() { if (!this.activeFile) { this.saveFileAs(); + this.activeFile.session.getUndoManager().markClean(); + return; } const text = this.activeFile.session.getValue(); window.fs.saveFile(this.activeFile.path, text); + this.activeFile.session.getUndoManager().markClean(); } protected saveFileAs() { diff --git a/src/app/editor/code-view/view.component.ts b/src/app/editor/code-view/view.component.ts index 4b601c5..9226d2f 100644 --- a/src/app/editor/code-view/view.component.ts +++ b/src/app/editor/code-view/view.component.ts @@ -227,8 +227,10 @@ export class CodeViewComponent extends CodeViewBase { if (!this.activeFile) return; + const isClean = this.activeFile.session.getUndoManager().isClean(); + const hasUndo = this.activeFile.session.getUndoManager().hasUndo(); let message = new ServiceMessage(); - message.action = "file-changed"; + message.action = (!isClean && hasUndo) ? "file-changed" : "file-unmodified"; message.filePath = this.activeFile.path; this.tabsService.sendMessage(message); }); diff --git a/src/app/editor/tabs/tabs.component.ts b/src/app/editor/tabs/tabs.component.ts index ef4eb57..6ac2d5f 100644 --- a/src/app/editor/tabs/tabs.component.ts +++ b/src/app/editor/tabs/tabs.component.ts @@ -55,12 +55,15 @@ export class TabsComponent { this.tabsService.getMessage$().pipe( takeUntilDestroyed(this.#destroyRef) ).subscribe((message: ServiceMessage) => { - let elm = document.querySelector(`[title="${message.filePath}"]`); + let elm = document.querySelector(`.tab[title="${message.filePath}"]`); switch ( message.action ) { case "create-tab": this.createTab(message.fileName, message.fileUUID, message.filePath); break; + case "file-unmodified": + elm.classList.remove("file-changed"); + break; case "file-changed": elm.classList.add("file-changed"); elm.classList.remove("file-deleted");