From 4160582c52b09dd9db4939b81f31a908dd6fe5dd Mon Sep 17 00:00:00 2001 From: Sweidan Omar Date: Wed, 12 Jan 2022 21:13:31 +0000 Subject: [PATCH] #309 git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32730 --- client/DxPlay/PlayerForm.cs | 39 +++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/client/DxPlay/PlayerForm.cs b/client/DxPlay/PlayerForm.cs index 52e5b900..b17625f4 100644 --- a/client/DxPlay/PlayerForm.cs +++ b/client/DxPlay/PlayerForm.cs @@ -24,6 +24,8 @@ namespace DxPlay { private OpenFileDialog openFileDialog = new OpenFileDialog(); private ToolTip tooltips; + private bool isPauseButtonClicked = false; + private DxPlaySettings settings; public DxPlaySettings Settings { get { @@ -104,6 +106,7 @@ namespace DxPlay { public PlayerForm() { InitializeComponent(); + playerControls.Pause.Click += Pause_Click; playerControls.Play.Click += OnPlayClick; playerControls.Stop.Click += OnStopClick; playerControls.Rewind.MouseDown += OnRewindMouseDown; @@ -120,6 +123,15 @@ namespace DxPlay { playerControls.TrackBar.Scroll += OnTrackBarScroll; } + private void Pause_Click(object sender, EventArgs e) + { + if (!isPauseButtonClicked) + { + isPauseButtonClicked = true; + PlayOrPause(); + } + } + private void InitializeTexts() { tpMetadata.Text = Settings.Resource("METADATA", Resources.METADATA); tpSegments.Text = Settings.Resource("SEGMENTS", Resources.SEGMENTS); @@ -138,6 +150,7 @@ namespace DxPlay { tooltips.SetToolTip(playerControls.StepBack, Settings.Resource("STEPBACK", Resources.STEPBACK)); tooltips.SetToolTip(playerControls.StepForward, Settings.Resource("STEPFORWARD", Resources.STEPFORWARD)); tooltips.SetToolTip(playerControls.Play, Settings.Resource("PLAY", Resources.PLAY)); + tooltips.SetToolTip(playerControls.Pause, Settings.Resource("PAUSE", Resources.PLAY)); tooltips.SetToolTip(playerControls.Stop, Settings.Resource("STOP", Resources.STOP)); playerControls.Status.Text = Settings.Resource("NOINPUT", Resources.NOINPUT); playerControls.Start.Text = Settings.Resource("START", Resources.START); @@ -263,10 +276,24 @@ namespace DxPlay { m_play.Stop(); } m_play.Play(); - UpdatePlayPauseButton(); + UpdatePlayButton(); + } + + private void UpdatePauseButton() + { + if (m_play.State == GraphState.Playing) + { //PAUSE + playerControls.Pause.Image = Resources.ic_pause_black_24dp_2x; + tooltips.SetToolTip(playerControls.Pause, Settings.Resource("PAUSE", Resources.PAUSE)); + } + else + { + playerControls.Pause.Image = Resources.ic_play_arrow_black_24dp_2x; + tooltips.SetToolTip(playerControls.Pause, Settings.Resource("PLAY", Resources.PLAY)); + } } - private void UpdatePlayPauseButton() { + private void UpdatePlayButton() { if (m_play.State == GraphState.Playing) { playerControls.Play.Image = Resources.ic_pause_black_24dp_2x; tooltips.SetToolTip(playerControls.Play, Settings.Resource("PAUSE", Resources.PAUSE)); @@ -278,7 +305,7 @@ namespace DxPlay { private void Pause() { m_play.Pause(); - UpdatePlayPauseButton(); + UpdatePlayButton(); } private void OnPlayClick(object sender, EventArgs e) { @@ -302,7 +329,7 @@ namespace DxPlay { buttonDown = true; do { m_play.Rewind(10); - Application.DoEvents(); + Application.DoEvents(); } while (buttonDown); } @@ -314,7 +341,7 @@ namespace DxPlay { buttonDown = true; do { m_play.Forward(10); - Application.DoEvents(); + Application.DoEvents(); } while (buttonDown); } @@ -476,7 +503,7 @@ namespace DxPlay { if (Disposing || IsDisposed || m_play == null) return; if (m_play.State == GraphState.Completed || m_play.State == GraphState.Paused) - UpdatePlayPauseButton(); + UpdatePlayButton(); if (!trackBarAtUser) playerControls.TrackBar.Value = m_play.CurrentTC.ZeroBasedFrames; playerControls.CurrentTC.Text = m_play.CurrentTC.ToString(); -- 2.54.0