From 8c02514ce98c4ff6ebb2144da463af2ae0b0ed1a Mon Sep 17 00:00:00 2001 From: Oleksandr Bezdieniezhnykh Date: Fri, 17 May 2024 09:11:48 +0300 Subject: [PATCH] add logs, help and logo --- Azaion.Annotator/Azaion.Annotator/App.xaml.cs | 11 ++++++- .../Azaion.Annotator/Azaion.Annotator.csproj | 8 +++++ .../Azaion.Annotator/HelpWindow.xaml | 11 ++++--- .../Azaion.Annotator/HelpWindow.xaml.cs | 15 +++------- .../Azaion.Annotator/MainWindow.xaml | 7 ++++- .../Azaion.Annotator/MainWindow.xaml.cs | 28 ++++++++---------- Azaion.Annotator/Azaion.Annotator/logo.ico | Bin 0 -> 2686 bytes 7 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 Azaion.Annotator/Azaion.Annotator/logo.ico diff --git a/Azaion.Annotator/Azaion.Annotator/App.xaml.cs b/Azaion.Annotator/Azaion.Annotator/App.xaml.cs index 8be5352..726c496 100644 --- a/Azaion.Annotator/Azaion.Annotator/App.xaml.cs +++ b/Azaion.Annotator/Azaion.Annotator/App.xaml.cs @@ -1,6 +1,8 @@ -using System.Reflection; +using System.IO; +using System.Reflection; using System.Windows; using System.Windows.Input; +using System.Windows.Threading; using Azaion.Annotator.DTO; using LibVLCSharp.Shared; using MediatR; @@ -30,8 +32,15 @@ public partial class App : Application services.AddSingleton(); _serviceProvider = services.BuildServiceProvider(); _mediator = _serviceProvider.GetService()!; + DispatcherUnhandledException += OnDispatcherUnhandledException; } + private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) + { + File.AppendAllText("logs.txt", e.Exception.Message); + e.Handled = true; + } + protected override void OnStartup(StartupEventArgs e) { EventManager.RegisterClassHandler(typeof(UIElement), UIElement.KeyDownEvent, new RoutedEventHandler(GlobalClick)); diff --git a/Azaion.Annotator/Azaion.Annotator/Azaion.Annotator.csproj b/Azaion.Annotator/Azaion.Annotator/Azaion.Annotator.csproj index 697ac2e..abcfb87 100644 --- a/Azaion.Annotator/Azaion.Annotator/Azaion.Annotator.csproj +++ b/Azaion.Annotator/Azaion.Annotator/Azaion.Annotator.csproj @@ -6,6 +6,7 @@ enable true net8.0-windows + logo.ico @@ -26,4 +27,11 @@ + + + + PreserveNewest + + + diff --git a/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml b/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml index 06fba62..1587cf6 100644 --- a/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml +++ b/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml @@ -5,8 +5,11 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Azaion.Annotator" mc:Ignorable="d" - Title="HelpWindow" Height="450" Width="800"> - + Title="Як анотувати" Height="580" Width="800" + ResizeMode="NoResize" + Topmost="True" + WindowStartupLocation="CenterScreen"> + @@ -39,10 +42,10 @@ 6. Артилерія - це гармати, міномети. Якщо це САУ наприклад, або будь що на гусеничній техніці, це Броньована техніка. - + Показувати при запуску - diff --git a/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml.cs b/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml.cs index cc8a8ec..c40141d 100644 --- a/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml.cs +++ b/Azaion.Annotator/Azaion.Annotator/HelpWindow.xaml.cs @@ -5,23 +5,16 @@ namespace Azaion.Annotator; public partial class HelpWindow : Window { - public bool ShowHelpOnStart { get; set; } private readonly Config _config; public HelpWindow(Config config) { _config = config; - ShowHelpOnStart = config.ShowHelpOnStart; + Loaded += (_, _) => CbShowHelp.IsChecked = _config.ShowHelpOnStart; InitializeComponent(); } + private void Close(object sender, RoutedEventArgs e) => Close(); - private void Close(object sender, RoutedEventArgs e) - { - Close(); - } - - private void UIElement_OnIsEnabledChanged(object sender, DependencyPropertyChangedEventArgs e) - { - _config.ShowHelpOnStart = CbShowHelp.IsChecked ?? true; - } + private void CbShowHelp_OnChecked(object sender, RoutedEventArgs e) => _config.ShowHelpOnStart = true; + private void CbShowHelp_OnUnchecked(object sender, RoutedEventArgs e) => _config.ShowHelpOnStart = false; } \ No newline at end of file diff --git a/Azaion.Annotator/Azaion.Annotator/MainWindow.xaml b/Azaion.Annotator/Azaion.Annotator/MainWindow.xaml index e86c6d2..d8ec813 100644 --- a/Azaion.Annotator/Azaion.Annotator/MainWindow.xaml +++ b/Azaion.Annotator/Azaion.Annotator/MainWindow.xaml @@ -70,7 +70,12 @@ + IsEnabled="True" Header="Відкрити папку..." Click="OpenFolderItemClick"/> + + + - { - Task.Delay(300); - Dispatcher.Invoke(() => - { - _helpWindow.Activate(); - }); - }); - } - } public void BlinkHelp(string helpText, int times = 3) @@ -230,6 +219,7 @@ public partial class MainWindow _libVLC.Dispose(); _config.AnnotationClasses = AnnotationClasses.ToList(); _config.Save(); + Application.Current.Shutdown(); } // private void AddClassBtnClick(object sender, RoutedEventArgs e) @@ -238,7 +228,7 @@ public partial class MainWindow // AnnotationClasses.Add(new AnnotationClass(AnnotationClasses.Count)); // LvClasses.SelectedIndex = AnnotationClasses.Count - 1; // } - private void MenuItem_OnClick(object sender, RoutedEventArgs e) => OpenFolder(); + private void OpenFolderItemClick(object sender, RoutedEventArgs e) => OpenFolder(); private void OpenFolderButtonClick(object sender, RoutedEventArgs e) => OpenFolder(); private void OpenFolder() { @@ -266,4 +256,10 @@ public partial class MainWindow private void RemoveSelectedClick(object sender, RoutedEventArgs e) => _mediator.Publish(new PlaybackControlEvent(PlaybackControlEnum.RemoveSelectedAnns)); private void RemoveAllClick(object sender, RoutedEventArgs e) => _mediator.Publish(new PlaybackControlEvent(PlaybackControlEnum.RemoveAllAnns)); + + private void OpenHelpWindowClick(object sender, RoutedEventArgs e) + { + _helpWindow.Show(); + _helpWindow.Activate(); + } } \ No newline at end of file diff --git a/Azaion.Annotator/Azaion.Annotator/logo.ico b/Azaion.Annotator/Azaion.Annotator/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..8addc0030a4b01a0caaf55bfd1475922407a9f0d GIT binary patch literal 2686 zcmeHJJ5B>J6r5F%98mxj?Y8tBAUO`DJG)zVn~p2_0NjB+LOLQPikW#PWD{tR_y}od z^WNC+XZx)-GSKi@E^i<_TmrY`JIa!hC=D*C3Hm-qs(~q4yflZDgq$-|iv3WEMif3W zNllnKFm>P`cfiAiAo1`)8sOaEstzIg*oWZyxO((+A4BM!M^vZ~&{J{Nd5-3u*}*Z2 z7Oxn$;uIzC=O(4F2e(i-$`Ojb}AI)b`UzutzzW_V)cpaW`1n&66 zpd%jL^}wTmQ^R{d4jBi7GMv58w~o|+QG4jDZ{TPBU9G%Z zR9;_K9$e+zRJMyqDSQ6^$glxg@fxs%0hno?co7n7_oSV8Vd0j*a7)NyCM0pAszPVs xOkj1P9gN^|