mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 21:06:30 +00:00
add editor, fix some bugs
WIP
This commit is contained in:
@@ -30,7 +30,7 @@ public partial class MainWindow
|
||||
private readonly IGalleryManager _galleryManager;
|
||||
private CancellationTokenSource _cancellationTokenSource = new CancellationTokenSource();
|
||||
|
||||
public ObservableCollection<AnnotationClass> AnnotationClasses { get; set; } = new();
|
||||
private ObservableCollection<AnnotationClass> AnnotationClasses { get; set; } = new();
|
||||
private bool _suspendLayout;
|
||||
|
||||
private readonly TimeSpan _thresholdBefore = TimeSpan.FromMilliseconds(100);
|
||||
@@ -66,6 +66,15 @@ public partial class MainWindow
|
||||
|
||||
VideoView.Loaded += VideoView_Loaded;
|
||||
Closed += OnFormClosed;
|
||||
|
||||
if (!Directory.Exists(_config.LabelsDirectory))
|
||||
Directory.CreateDirectory(_config.LabelsDirectory);
|
||||
if (!Directory.Exists(_config.ImagesDirectory))
|
||||
Directory.CreateDirectory(_config.ImagesDirectory);
|
||||
if (!Directory.Exists(_config.ResultsDirectory))
|
||||
Directory.CreateDirectory(_config.ResultsDirectory);
|
||||
|
||||
Editor.GetTimeFunc = () => TimeSpan.FromMilliseconds(_mediaPlayer.Time);
|
||||
}
|
||||
|
||||
private void VideoView_Loaded(object sender, RoutedEventArgs e)
|
||||
@@ -84,16 +93,22 @@ public partial class MainWindow
|
||||
|
||||
_suspendLayout = true;
|
||||
|
||||
Left = _config.WindowLocation.X;
|
||||
Top = _config.WindowLocation.Y;
|
||||
Left = _config.MainWindowConfig.WindowLocation.X;
|
||||
Top = _config.MainWindowConfig.WindowLocation.Y;
|
||||
Width = _config.MainWindowConfig.WindowSize.Width;
|
||||
Height = _config.MainWindowConfig.WindowSize.Height;
|
||||
|
||||
Width = _config.WindowSize.Width;
|
||||
Height = _config.WindowSize.Height;
|
||||
_datasetExplorer.Left = _config.MainWindowConfig.WindowLocation.X;
|
||||
_datasetExplorer.Top = _config.DatasetExplorerConfig.WindowLocation.Y;
|
||||
_datasetExplorer.Width = _config.DatasetExplorerConfig.WindowSize.Width;
|
||||
_datasetExplorer.Height = _config.DatasetExplorerConfig.WindowSize.Height;
|
||||
if (_config.DatasetExplorerConfig.FullScreen)
|
||||
_datasetExplorer.WindowState = WindowState.Maximized;
|
||||
|
||||
MainGrid.ColumnDefinitions.FirstOrDefault()!.Width = new GridLength(_config.LeftPanelWidth);
|
||||
MainGrid.ColumnDefinitions.LastOrDefault()!.Width = new GridLength(_config.RightPanelWidth);
|
||||
|
||||
if (_config.FullScreen)
|
||||
if (_config.MainWindowConfig.FullScreen)
|
||||
WindowState = WindowState.Maximized;
|
||||
|
||||
_suspendLayout = false;
|
||||
@@ -190,9 +205,8 @@ public partial class MainWindow
|
||||
|
||||
_config.LeftPanelWidth = MainGrid.ColumnDefinitions.FirstOrDefault()!.Width.Value;
|
||||
_config.RightPanelWidth = MainGrid.ColumnDefinitions.LastOrDefault()!.Width.Value;
|
||||
_config.WindowSize = new Size(Width, Height);
|
||||
_config.WindowLocation = new Point(Left, Top);
|
||||
_config.FullScreen = WindowState == WindowState.Maximized;
|
||||
|
||||
_config.MainWindowConfig = this.GetConfig();
|
||||
await ThrottleExt.Throttle(() =>
|
||||
{
|
||||
_configRepository.Save(_config);
|
||||
@@ -303,7 +317,6 @@ public partial class MainWindow
|
||||
_mediaPlayer.Stop();
|
||||
_mediaPlayer.Dispose();
|
||||
_libVLC.Dispose();
|
||||
_config.AnnotationClasses = AnnotationClasses.ToList();
|
||||
_configRepository.Save(_config);
|
||||
Application.Current.Shutdown();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user