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());
}
});
}