private void Save() { settings.InterfaceConfigFile = interfaceConfigFile?.ToAvalonPath(); settings.TargetConfigFile = targetConfigFile?.ToAvalonPath(); OpenOCDDebugAdaptor.SetSettings(Model, settings); Model.Save(); }
public OpenOCDSettingsFormViewModel(IProject model) : base(model) { settings = OpenOCDDebugAdaptor.GetSettings(model); interfaceConfigFile = settings.InterfaceConfigFile; targetConfigFile = settings.TargetConfigFile; BrowseInterfaceConfigFileCommand = ReactiveCommand.Create(); BrowseInterfaceConfigFileCommand.Subscribe(async _ => { var ofd = new OpenFileDialog(); ofd.InitialDirectory = Path.Combine(OpenOCDDebugAdaptor.BaseDirectory, "scripts", "interface"); ofd.Filters.Add(new FileDialogFilter { Name = "OpenOCD Config File", Extensions = new List <string> { "cfg" } }); ofd.AllowMultiple = false; ofd.Title = "Open OpenOCD Interface Config File"; var result = await ofd.ShowAsync(); if (result != null && !string.IsNullOrEmpty(result.First())) { InterfaceConfigFile = OpenOCDDebugAdaptor.BaseDirectory.MakeRelativePath(result.First()); } }); BrowseTargetConfigFileCommand = ReactiveCommand.Create(); BrowseTargetConfigFileCommand.Subscribe(async _ => { var ofd = new OpenFileDialog(); ofd.InitialDirectory = Path.Combine(OpenOCDDebugAdaptor.BaseDirectory, "scripts", "target"); ofd.Filters.Add(new FileDialogFilter { Name = "OpenOCD Config File", Extensions = new List <string> { "cfg" } }); ofd.AllowMultiple = false; ofd.Title = "Open OpenOCD Target Config File"; var result = await ofd.ShowAsync(); if (result != null && !string.IsNullOrEmpty(result.First())) { TargetConfigFile = OpenOCDDebugAdaptor.BaseDirectory.MakeRelativePath(result.First()); } }); }