Skip to content

Commit c9e93de

Browse files
committed
enhance: Add auto-save for OpenAIServices and Workspaces
1 parent 8554666 commit c9e93de

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

src/ViewModels/ConfigureWorkspace.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public ConfigureWorkspace()
3737
public void Add()
3838
{
3939
var workspace = new Workspace() { Name = $"Unnamed {DateTime.Now:yyyy-MM-dd HH:mm:ss}" };
40+
workspace.PropertyChanged += (_, _) => Preferences.Instance.Save();
4041
Preferences.Instance.Workspaces.Add(workspace);
4142
Workspaces.Add(workspace);
4243
Selected = workspace;

src/ViewModels/Preferences.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public static Preferences Instance
2626
_instance.PrepareGit();
2727
_instance.PrepareShellOrTerminal();
2828
_instance.PrepareWorkspaces();
29+
_instance.PrepareOpenAIServices();
2930

3031
return _instance;
3132
}
@@ -533,11 +534,13 @@ private void PrepareWorkspaces()
533534
if (Workspaces.Count == 0)
534535
{
535536
Workspaces.Add(new Workspace() { Name = "Default" });
537+
Workspaces[0].PropertyChanged += (_, _) => Save();
536538
return;
537539
}
538540

539541
foreach (var workspace in Workspaces)
540542
{
543+
workspace.PropertyChanged += (_, _) => Save();
541544
if (!workspace.RestoreOnStartup)
542545
{
543546
workspace.Repositories.Clear();
@@ -546,6 +549,14 @@ private void PrepareWorkspaces()
546549
}
547550
}
548551

552+
private void PrepareOpenAIServices()
553+
{
554+
foreach (var openAiService in OpenAIServices)
555+
{
556+
openAiService.PropertyChanged += (_, _) => Save();
557+
}
558+
}
559+
549560
private RepositoryNode FindNodeRecursive(string id, List<RepositoryNode> collection)
550561
{
551562
foreach (var node in collection)

src/Views/Preferences.axaml.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ private void OnGitInstallPathChanged(object sender, TextChangedEventArgs e)
351351
private void OnAddOpenAIService(object sender, RoutedEventArgs e)
352352
{
353353
var service = new Models.OpenAIService() { Name = "Unnamed Service" };
354+
service.PropertyChanged += (_, _) => { ViewModels.Preferences.Instance.Save(); };
354355
ViewModels.Preferences.Instance.OpenAIServices.Add(service);
355356
SelectedOpenAIService = service;
356357

0 commit comments

Comments
 (0)