settings for avalonia

libcamera bugfix
This commit is contained in:
EugeneTes
2026-04-01 14:05:37 +02:00
parent 1032a5a28c
commit bb861834fd
26 changed files with 1139 additions and 59 deletions

View File

@@ -1,11 +1,38 @@
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
{
public Task ShowSettingsDialogAsync()
private readonly InspectronSettings _settings;
public AvaloniaSettingsService(InspectronSettings settings)
{
return Task.CompletedTask;
_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;
}
}

View File

@@ -14,6 +14,7 @@
<ItemGroup>
<ProjectReference Include="..\framework\Inspectron.Settings\Inspectron.Settings.csproj" />
<ProjectReference Include="..\framework\Inspectron.Settings.Avalonia\Inspectron.Settings.Avalonia.csproj" />
<ProjectReference Include="..\VisionBuilder.UI.Common\VisionBuilder.UI.Common.csproj" />
</ItemGroup>