//----------------------------------------------------------------------------- // Constructor //----------------------------------------------------------------------------- public MainWindow() { supressEvents = true; InitializeComponent(); forceCloseVideo = false; desiredSpeed = 1.0; PGControl.Initialize(this); // Subscribe to these events after PGControl does media.MediaOpened += OnMediaOpened; media.MediaClosed += OnMediaClosed; media.MediaEnded += OnMediaEnded; timer = new DispatcherTimer( TimeSpan.FromSeconds(0.02), DispatcherPriority.ApplicationIdle, delegate { if (forceCloseVideo) { forceCloseVideo = false; PGControl.CloseVideo(); } UpdateMediaButtons(); UpdateInformation(); RenderAudio(); }, Dispatcher); UpdateControls(); // Allow stealing focus from toolbar textboxes FocusManager.SetIsFocusScope(sectionToolBar, false); }
private void OnFileDrop(object sender, DragEventArgs e) { if (IsValidDropFile(e)) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); PGControl.OpenVideo(files[0]); } labelFileDrop.Visibility = Visibility.Collapsed; }
//----------------------------------------------------------------------------- // Event Handlers //----------------------------------------------------------------------------- private void OnWindowLoaded(object sender, RoutedEventArgs e) { supressEvents = false; CalculateSizes(); string[] args = Environment.GetCommandLineArgs(); if (args.Length > 1) { PGControl.OpenVideo(args[1]); } }
private void OnBookmarkSelectionChanged(object sender, SelectionChangedEventArgs e) { if (supressEvents) { return; } if (listViewBookmarks.SelectedIndex == -1) { return; } PGControl.SelectBookmark(listViewBookmarks.SelectedIndex); }
private void OnBookmarkItemPreviewMouseDown(object sender, MouseButtonEventArgs e) { if (supressEvents || e.ChangedButton != MouseButton.Left) { return; } // Allow reselecting the same index int index = listViewBookmarks.Items.IndexOf(sender); if (index == listViewBookmarks.SelectedIndex) { PGControl.SelectBookmark(index); } }