fix initialization, throttle operations

day/winter/night switcher fixes
This commit is contained in:
Alex Bezdieniezhnykh
2025-02-19 23:07:16 +02:00
parent c314268d1e
commit d1af7958f8
17 changed files with 170 additions and 88 deletions
+2 -1
View File
@@ -35,6 +35,7 @@ public partial class App
private PythonResourceLoader _resourceLoader = null!;
private Stream _securedConfig = null!;
private static readonly Guid KeyPressTaskId = Guid.NewGuid();
private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
@@ -199,7 +200,7 @@ public partial class App
{
var args = (KeyEventArgs)e;
var keyEvent = new KeyEvent(sender, args, _formState.ActiveWindow);
_ = ThrottleExt.ThrottleRunFirst(() => _mediator.Publish(keyEvent), TimeSpan.FromMilliseconds(50));
_ = ThrottleExt.ThrottleRunFirst(() => _mediator.Publish(keyEvent), KeyPressTaskId, TimeSpan.FromMilliseconds(50));
}
protected override async void OnExit(ExitEventArgs e)
+3 -2
View File
@@ -9,7 +9,6 @@ using Azaion.Common.DTO.Config;
using Azaion.Common.Extensions;
using Azaion.Common.Services;
using Azaion.CommonSecurity.Services;
using Azaion.Dataset;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using SharpVectors.Converters;
@@ -26,6 +25,7 @@ public partial class MainSuite
private readonly IDbFactory _dbFactory;
private readonly Dictionary<WindowEnum, Window> _openedWindows = new();
private readonly IResourceLoader _resourceLoader;
private static readonly Guid SaveConfigTaskId = Guid.NewGuid();
public MainSuite(IOptions<AppConfig> appConfig,
IConfigUpdater configUpdater,
@@ -89,6 +89,7 @@ public partial class MainSuite
};
lvItem.MouseUp += (lv, _) => OpenWindow((lv as ListViewItem)!);
ListView.Items.Add(lvItem);
_ = _sp.GetRequiredService(azaionModule.MainWindowType) as Window;
}
_ = Task.Run(async () => await _galleryService.RefreshThumbnails());
@@ -126,7 +127,7 @@ public partial class MainSuite
{
_configUpdater.Save(_appConfig);
return Task.CompletedTask;
}, TimeSpan.FromSeconds(2));
}, SaveConfigTaskId, TimeSpan.FromSeconds(2));
}
private void OnFormClosed(object? sender, EventArgs e)
+6 -5
View File
@@ -3,7 +3,8 @@
"ZeroMqHost": "127.0.0.1",
"ZeroMqPort": 5128,
"RetryCount": 25,
"TimeoutSeconds": 5
"TimeoutSeconds": 5,
"ResourcesFolder": "stage"
},
"DirectoriesConfig": {
"VideosDirectory": "E:\\Azaion6",
@@ -13,16 +14,16 @@
"ThumbnailsDirectory": "E:\\thumbnails"
},
"AnnotationConfig": {
"AnnotationClasses": [
{ "Id": 0, "Name": "Броньована техніка", "ShortName": "Бронь" },
{ "Id": 1, "Name": "Вантажівка", "ShortName": "Вантаж" },
"DetectionClasses": [
{ "Id": 0, "Name": "Броньована техніка", "ShortName": "Броня" },
{ "Id": 1, "Name": "Вантажівка", "ShortName": "Вантаж." },
{ "Id": 2, "Name": "Машина легкова", "ShortName": "Машина" },
{ "Id": 3, "Name": "Артилерія", "ShortName": "Арта" },
{ "Id": 4, "Name": "Тінь від техніки", "ShortName": "Тінь" },
{ "Id": 5, "Name": "Окопи", "ShortName": "Окопи" },
{ "Id": 6, "Name": "Військовий", "ShortName": "Військов" },
{ "Id": 7, "Name": "Накати", "ShortName": "Накати" },
{ "Id": 8, "Name": "Танк з захистом", "ShortName": "Танк захист" },
{ "Id": 8, "Name": "Танк з захистом", "ShortName": "Танк.захист" },
{ "Id": 9, "Name": "Дим", "ShortName": "Дим" },
{ "Id": 10, "Name": "Літак", "ShortName": "Літак" },
{ "Id": 11, "Name": "Мотоцикл", "ShortName": "Мото" }