Files
HawkeyeVision/VisionBuilder.UI.Avalonia/Services/AvaloniaSettingsService.cs
EugeneTes bb861834fd settings for avalonia
libcamera bugfix
2026-04-01 14:05:37 +02:00

39 lines
1.1 KiB
C#

using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Inspectron.Settings;
using Inspectron.Settings.Avalonia.Configuration;
using VisionBuilder.UI.Common.ViewModel.Interfaces.UI;
namespace VisionBuilder.UI.Avalonia.Services;
public class AvaloniaSettingsService : ISettingsService
{
private readonly InspectronSettings _settings;
public AvaloniaSettingsService(InspectronSettings settings)
{
_settings = settings;
}
public async Task ShowSettingsDialogAsync()
{
var dialog = new OptionsWindow(new DefaultControlFactory());
dialog.LoadFromSettings(_settings);
var parent = GetMainWindow();
if (parent != null)
{
var result = await dialog.ShowDialog<bool>(parent);
if (result)
_settings.SaveSettings();
}
}
private static Window? GetMainWindow()
{
if (Application.Current?.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
return desktop.MainWindow;
return null;
}
}