diff --git a/src/main/java/com/kfmanager/ui/SettingsDialog.java b/src/main/java/com/kfmanager/ui/SettingsDialog.java index 762e6de..3990101 100644 --- a/src/main/java/com/kfmanager/ui/SettingsDialog.java +++ b/src/main/java/com/kfmanager/ui/SettingsDialog.java @@ -26,6 +26,7 @@ public class SettingsDialog extends JDialog { private final Color originalFolder; private final Font originalGlobalFont; private final Font originalEditorFont; + private final String originalExternalEditorPath; // Appearance controls private JButton appearanceFontBtn; @@ -52,6 +53,7 @@ public class SettingsDialog extends JDialog { this.originalFolder = config.getFolderColor(); this.originalGlobalFont = config.getGlobalFont(); this.originalEditorFont = config.getEditorFont(); + this.originalExternalEditorPath = config.getExternalEditorPath(); setDefaultCloseOperation(DISPOSE_ON_CLOSE); setSize(700, 420); @@ -150,6 +152,11 @@ public class SettingsDialog extends JDialog { } } catch (Exception ignore) {} } + + // Save external editor path + if (externalEditorField != null) { + config.setExternalEditorPath(externalEditorField.getText()); + } // Persist config and notify caller config.saveConfig(); @@ -165,6 +172,7 @@ public class SettingsDialog extends JDialog { config.setFolderColor(originalFolder); config.setGlobalFont(originalGlobalFont); config.setEditorFont(originalEditorFont); + config.setExternalEditorPath(originalExternalEditorPath); // Notify UI to revert changes if (onChange != null) onChange.run();