settings for avalonia
libcamera bugfix
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user