add badge with window switch on the top right

This commit is contained in:
Alex Bezdieniezhnykh
2024-11-28 18:04:34 +02:00
parent 7430b33b8e
commit 0290d8f5db
17 changed files with 160 additions and 96 deletions
+2 -1
View File
@@ -7,7 +7,8 @@
xmlns:controls1="clr-namespace:Azaion.Common.Controls;assembly=Azaion.Common"
xmlns:controls2="clr-namespace:Azaion.Annotator.Controls;assembly=Azaion.Common"
mc:Ignorable="d"
Title="Azaion Annotator" Height="450" Width="1100"
Title="Azaion Annotator" Height="800" Width="1100"
WindowState="Maximized"
>
<Window.Resources>
+6 -6
View File
@@ -76,21 +76,21 @@ public partial class Annotator
_vlcFrameExtractor = vlcFrameExtractor;
_aiDetector = aiDetector;
Loaded += VideoView_Loaded;
Loaded += OnLoaded;
Closed += OnFormClosed;
Editor.GetTimeFunc = () => TimeSpan.FromMilliseconds(_mediaPlayer.Time);
}
private void VideoView_Loaded(object sender, RoutedEventArgs e)
private void OnLoaded(object sender, RoutedEventArgs e)
{
Core.Initialize();
InitControls();
_suspendLayout = true;
MainGrid.ColumnDefinitions.FirstOrDefault()!.Width = new GridLength(_appConfig.WindowConfig.LeftPanelWidth);
MainGrid.ColumnDefinitions.LastOrDefault()!.Width = new GridLength(_appConfig.WindowConfig.RightPanelWidth);
MainGrid.ColumnDefinitions.FirstOrDefault()!.Width = new GridLength(_appConfig.AnnotatorWindowConfig.LeftPanelWidth);
MainGrid.ColumnDefinitions.LastOrDefault()!.Width = new GridLength(_appConfig.AnnotatorWindowConfig.RightPanelWidth);
_suspendLayout = false;
@@ -229,8 +229,8 @@ public partial class Annotator
if (_suspendLayout)
return;
_appConfig.WindowConfig.LeftPanelWidth = MainGrid.ColumnDefinitions.FirstOrDefault()!.Width.Value;
_appConfig.WindowConfig.RightPanelWidth = MainGrid.ColumnDefinitions.LastOrDefault()!.Width.Value;
_appConfig.AnnotatorWindowConfig.LeftPanelWidth = MainGrid.ColumnDefinitions.FirstOrDefault()!.Width.Value;
_appConfig.AnnotatorWindowConfig.RightPanelWidth = MainGrid.ColumnDefinitions.LastOrDefault()!.Width.Value;
await ThrottleExt.Throttle(() =>
{
@@ -1,16 +0,0 @@
using System.Windows;
using Azaion.Annotator.DTO;
using Azaion.Common.DTO.Config;
namespace Azaion.Annotator.Extensions;
public static class WindowExtensions
{
public static WindowConfig GetConfig(this Window window) =>
new()
{
WindowSize = new Size(window.Width, window.Height),
WindowLocation = new Point(window.Left, window.Top),
FullScreen = window.WindowState == WindowState.Maximized
};
}
+6 -6
View File
@@ -6,12 +6,12 @@ namespace Azaion.Annotator;
public partial class HelpWindow : Window
{
private readonly WindowConfig _windowConfig;
private readonly AnnotatorWindowConfig _annotatorWindowConfig;
public HelpWindow(IOptions<WindowConfig> windowConfig)
public HelpWindow(IOptions<AnnotatorWindowConfig> windowConfig)
{
_windowConfig = windowConfig.Value;
Loaded += (_, _) => CbShowHelp.IsChecked = _windowConfig.ShowHelpOnStart;
_annotatorWindowConfig = windowConfig.Value;
Loaded += (_, _) => CbShowHelp.IsChecked = _annotatorWindowConfig.ShowHelpOnStart;
Closing += (sender, args) =>
{
args.Cancel = true;
@@ -20,7 +20,7 @@ public partial class HelpWindow : Window
InitializeComponent();
}
private void CbShowHelp_OnChecked(object sender, RoutedEventArgs e) => _windowConfig.ShowHelpOnStart = true;
private void CbShowHelp_OnUnchecked(object sender, RoutedEventArgs e) => _windowConfig.ShowHelpOnStart = false;
private void CbShowHelp_OnChecked(object sender, RoutedEventArgs e) => _annotatorWindowConfig.ShowHelpOnStart = true;
private void CbShowHelp_OnUnchecked(object sender, RoutedEventArgs e) => _annotatorWindowConfig.ShowHelpOnStart = false;
}