sourcegit/src/Views/RepositoryConfigure.axaml.cs
leo f23e3478e6
fix: do not save preference in design mode
Signed-off-by: leo <longshuang@msn.cn>
2025-03-11 11:41:37 +08:00

37 lines
1.1 KiB
C#

using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Platform.Storage;
namespace SourceGit.Views
{
public partial class RepositoryConfigure : ChromelessWindow
{
public RepositoryConfigure()
{
InitializeComponent();
}
protected override void OnClosing(WindowClosingEventArgs e)
{
base.OnClosing(e);
if (!Design.IsDesignMode && DataContext is ViewModels.RepositoryConfigure configure)
configure.Save();
}
private async void SelectExecutableForCustomAction(object sender, RoutedEventArgs e)
{
var options = new FilePickerOpenOptions()
{
FileTypeFilter = [new FilePickerFileType("Executable file(script)") { Patterns = ["*.*"] }],
AllowMultiple = false,
};
var selected = await StorageProvider.OpenFilePickerAsync(options);
if (selected.Count == 1 && sender is Button { DataContext: Models.CustomAction action })
action.Executable = selected[0].Path.LocalPath;
e.Handled = true;
}
}
}