settings for avalonia
libcamera bugfix
This commit is contained in:
@@ -7,6 +7,7 @@ using Ninject.Extensions.ChildKernel;
|
||||
using VisionBuilder.UI.Common;
|
||||
using VisionBuilder.UI.Common.Plugins;
|
||||
using VisionBuilder.UI.Common.Processing;
|
||||
using VisionBuilder.UI.Common.Services;
|
||||
using VisionBuilder.UI.Common.ViewModel;
|
||||
using VisionBuilder.UI.IOCommander;
|
||||
using VisionBuilder.UI.Recipes.HawkeyeRecipe;
|
||||
@@ -15,6 +16,7 @@ using VisionBuilder.UI.Statistics;
|
||||
using VisionBuilder.UI.Avalonia;
|
||||
using VisionBuilder.UI.Avalonia.Uno.Views;
|
||||
using Lindt.Colorballs.Duo.Utils;
|
||||
using VisionBuilder.UI.Camera;
|
||||
|
||||
namespace VisionBuilder.UI.Avalonia.Uno;
|
||||
|
||||
@@ -79,10 +81,12 @@ public class App : Application
|
||||
];
|
||||
|
||||
var avaloniaUiSettings = mainKernel.Get<AvaloniaUISettings>();
|
||||
var uiConfiguration = mainKernel.Get<UIConfiguration>();
|
||||
var passwordInputService = mainKernel.Get<IPasswordInputService>();
|
||||
|
||||
settings.LoadSettings();
|
||||
|
||||
desktop.MainWindow = new MainWindow(mainWindowVm, avaloniaUiSettings);
|
||||
desktop.MainWindow = new MainWindow(mainWindowVm, avaloniaUiSettings, uiConfiguration, passwordInputService);
|
||||
}
|
||||
|
||||
base.OnFrameworkInitializationCompleted();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Avalonia;
|
||||
using Avalonia.LinuxFramebuffer;
|
||||
using Serilog;
|
||||
|
||||
namespace VisionBuilder.UI.Avalonia.Uno;
|
||||
|
||||
@@ -8,6 +9,11 @@ public class Program
|
||||
[STAThread]
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.MinimumLevel.Debug()
|
||||
.WriteTo.Console()
|
||||
.CreateLogger();
|
||||
|
||||
if (args.Contains("--drm"))
|
||||
BuildAvaloniaApp().StartLinuxDrm(args, card: null, scaling: 1.0);
|
||||
else
|
||||
|
||||
@@ -20,6 +20,16 @@
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Spacing="8">
|
||||
<Button x:Name="BtnSettings"
|
||||
Content="SETTINGS"
|
||||
Width="176" Height="48"
|
||||
FontSize="14" FontWeight="Bold"
|
||||
HorizontalContentAlignment="Center"
|
||||
VerticalContentAlignment="Center"
|
||||
BorderBrush="#D32F2F"
|
||||
BorderThickness="2"
|
||||
Background="White"
|
||||
Foreground="#D32F2F" />
|
||||
<Button x:Name="BtnMinimize"
|
||||
Content="MINIMIZE"
|
||||
Width="176" Height="48"
|
||||
|
||||
@@ -8,6 +8,8 @@ using Avalonia.Interactivity;
|
||||
using Avalonia.Media;
|
||||
using Avalonia.Threading;
|
||||
using VisionBuilder.UI.Avalonia;
|
||||
using VisionBuilder.UI.Common;
|
||||
using VisionBuilder.UI.Common.Services;
|
||||
using VisionBuilder.UI.Common.ViewModel;
|
||||
using VisionBuilder.UI.Common.ViewModel.Classes;
|
||||
|
||||
@@ -17,12 +19,17 @@ public partial class MainWindow : Window
|
||||
{
|
||||
private readonly MainWindowVM _mainWindowVm;
|
||||
private readonly AvaloniaUISettings _avaloniaUiSettings;
|
||||
private readonly UIConfiguration _uiConfiguration;
|
||||
private readonly IPasswordInputService _passwordInputService;
|
||||
private readonly Dictionary<string, Control> _dynamicButtonControls = new();
|
||||
|
||||
public MainWindow(MainWindowVM mainWindowVm, AvaloniaUISettings avaloniaUiSettings)
|
||||
public MainWindow(MainWindowVM mainWindowVm, AvaloniaUISettings avaloniaUiSettings,
|
||||
UIConfiguration uiConfiguration, IPasswordInputService passwordInputService)
|
||||
{
|
||||
_mainWindowVm = mainWindowVm;
|
||||
_avaloniaUiSettings = avaloniaUiSettings;
|
||||
_uiConfiguration = uiConfiguration;
|
||||
_passwordInputService = passwordInputService;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
@@ -30,6 +37,7 @@ public partial class MainWindow : Window
|
||||
|
||||
SingleCameraView.SetViewModel(_mainWindowVm.SingleCameraVms[0]);
|
||||
|
||||
BtnSettings.Click += BtnSettings_Click;
|
||||
BtnMinimize.Click += BtnMinimize_Click;
|
||||
BtnExit.Click += BtnExit_Click;
|
||||
|
||||
@@ -80,6 +88,17 @@ public partial class MainWindow : Window
|
||||
}
|
||||
}
|
||||
|
||||
private async void BtnSettings_Click(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
if (_uiConfiguration.ProtectSettingsWithPassword)
|
||||
{
|
||||
var passwordOk = await _passwordInputService.GetPasswordAsync() == _uiConfiguration.AdminPassword;
|
||||
if (!passwordOk)
|
||||
return;
|
||||
}
|
||||
_mainWindowVm.SettingsCommand.Execute(null);
|
||||
}
|
||||
|
||||
private void BtnMinimize_Click(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
WindowState = WindowState.Minimized;
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
<PackageReference Include="Microsoft.ML.OnnxRuntime.Gpu.Windows" Version="1.18.0" ExcludeAssets="all" />
|
||||
<PackageReference Include="Microsoft.ML.OnnxRuntime.Gpu.Linux" Version="1.18.0" ExcludeAssets="all" />
|
||||
<PackageReference Include="Microsoft.ML.OnnxRuntime" Version="1.18.0" />
|
||||
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user