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 0000000..8addc00 Binary files /dev/null and b/Azaion.Annotator/Azaion.Annotator/logo.ico differ