Minor refact

This commit is contained in:
Nikolaj Olsson 2019-11-10 19:46:33 +01:00
parent 7100b16793
commit 035e20a358

View File

@ -22,8 +22,8 @@ namespace Nikse.SubtitleEdit.Controls
public class ParagraphEventArgs : EventArgs public class ParagraphEventArgs : EventArgs
{ {
public Paragraph Paragraph { get; private set; } public Paragraph Paragraph { get; }
public double Seconds { get; private set; } public double Seconds { get; }
public Paragraph BeforeParagraph { get; set; } public Paragraph BeforeParagraph { get; set; }
public MouseDownParagraphType MouseDownParagraphType { get; set; } public MouseDownParagraphType MouseDownParagraphType { get; set; }
public bool MovePreviousOrNext { get; set; } public bool MovePreviousOrNext { get; set; }
@ -60,7 +60,7 @@ namespace Nikse.SubtitleEdit.Controls
} }
} }
public int ClosenessForBorderSelection = 15; public int ClosenessForBorderSelection { get; set; } = 15;
private const int MinimumSelectionMilliseconds = 100; private const int MinimumSelectionMilliseconds = 100;
private long _buttonDownTimeTicks; private long _buttonDownTimeTicks;
@ -106,8 +106,8 @@ namespace Nikse.SubtitleEdit.Controls
private double _wholeParagraphMinMilliseconds; private double _wholeParagraphMinMilliseconds;
private double _wholeParagraphMaxMilliseconds = double.MaxValue; private double _wholeParagraphMaxMilliseconds = double.MaxValue;
public Keys InsertAtVideoPositionShortcut; public Keys InsertAtVideoPositionShortcut { get; set; }
public bool MouseWheelScrollUpIsForward = true; public bool MouseWheelScrollUpIsForward { get; set; } = true;
public const double ZoomMinimum = 0.1; public const double ZoomMinimum = 0.1;
public const double ZoomMaximum = 2.5; public const double ZoomMaximum = 2.5;
@ -115,10 +115,7 @@ namespace Nikse.SubtitleEdit.Controls
public double ZoomFactor public double ZoomFactor
{ {
get get => _zoomFactor;
{
return _zoomFactor;
}
set set
{ {
if (value < ZoomMinimum) if (value < ZoomMinimum)
@ -146,10 +143,7 @@ namespace Nikse.SubtitleEdit.Controls
public double VerticalZoomFactor public double VerticalZoomFactor
{ {
get get => _verticalZoomFactor;
{
return _verticalZoomFactor;
}
set set
{ {
if (value < VerticalZoomMinimum) if (value < VerticalZoomMinimum)
@ -178,10 +172,7 @@ namespace Nikse.SubtitleEdit.Controls
/// </summary> /// </summary>
public List<double> SceneChanges public List<double> SceneChanges
{ {
get get => _sceneChanges;
{
return _sceneChanges;
}
set set
{ {
_sceneChanges = value; _sceneChanges = value;
@ -189,22 +180,13 @@ namespace Nikse.SubtitleEdit.Controls
} }
} }
public bool IsSpectrogramAvailable public bool IsSpectrogramAvailable => _spectrogram != null && _spectrogram.Images.Count > 0;
{
get
{
return _spectrogram != null && _spectrogram.Images.Count > 0;
}
}
private bool _showSpectrogram; private bool _showSpectrogram;
public bool ShowSpectrogram public bool ShowSpectrogram
{ {
get get => _showSpectrogram;
{
return _showSpectrogram;
}
set set
{ {
if (_showSpectrogram != value) if (_showSpectrogram != value)
@ -221,10 +203,7 @@ namespace Nikse.SubtitleEdit.Controls
public bool ShowWaveform public bool ShowWaveform
{ {
get get => _showWaveform;
{
return _showWaveform;
}
set set
{ {
if (_showWaveform != value) if (_showWaveform != value)
@ -239,10 +218,7 @@ namespace Nikse.SubtitleEdit.Controls
public double StartPositionSeconds public double StartPositionSeconds
{ {
get get => _startPositionSeconds;
{
return _startPositionSeconds;
}
set set
{ {
if (_wavePeaks != null) if (_wavePeaks != null)
@ -267,7 +243,7 @@ namespace Nikse.SubtitleEdit.Controls
} }
public Paragraph NewSelectionParagraph { get; set; } public Paragraph NewSelectionParagraph { get; set; }
public Paragraph SelectedParagraph { get { return _selectedParagraph; } } public Paragraph SelectedParagraph => _selectedParagraph;
public Paragraph RightClickedParagraph { get; private set; } public Paragraph RightClickedParagraph { get; private set; }
public double RightClickedSeconds { get; private set; } public double RightClickedSeconds { get; private set; }
@ -300,10 +276,7 @@ namespace Nikse.SubtitleEdit.Controls
public WavePeakData WavePeaks public WavePeakData WavePeaks
{ {
get get => _wavePeaks;
{
return _wavePeaks;
}
set set
{ {
_zoomFactor = 1.0; _zoomFactor = 1.0;
@ -384,7 +357,7 @@ namespace Nikse.SubtitleEdit.Controls
for (int i = 0; i < subtitle.Paragraphs.Count; i++) for (int i = 0; i < subtitle.Paragraphs.Count; i++)
{ {
Paragraph p = subtitle.Paragraphs[i]; var p = subtitle.Paragraphs[i];
if (p.StartTime.IsMaxTime) if (p.StartTime.IsMaxTime)
{ {
@ -401,7 +374,7 @@ namespace Nikse.SubtitleEdit.Controls
Action<int, bool> addSelection = (index, isPrimary) => Action<int, bool> addSelection = (index, isPrimary) =>
{ {
Paragraph p = subtitle.GetParagraphOrDefault(index); var p = subtitle.GetParagraphOrDefault(index);
if (p == null || p.StartTime.IsMaxTime) if (p == null || p.StartTime.IsMaxTime)
{ {
return; return;
@ -445,7 +418,7 @@ namespace Nikse.SubtitleEdit.Controls
_ranges = new SelectionRange[count]; _ranges = new SelectionRange[count];
for (int index = 0; index < count; index++) for (int index = 0; index < count; index++)
{ {
Paragraph p = paragraphs[index]; var p = paragraphs[index];
int start = (int)Math.Round(p.StartTime.TotalSeconds * sampleRate); int start = (int)Math.Round(p.StartTime.TotalSeconds * sampleRate);
int end = (int)Math.Round(p.EndTime.TotalSeconds * sampleRate); int end = (int)Math.Round(p.EndTime.TotalSeconds * sampleRate);
_ranges[index] = new SelectionRange(start, end); _ranges[index] = new SelectionRange(start, end);
@ -469,7 +442,7 @@ namespace Nikse.SubtitleEdit.Controls
_nextSelection = new SelectionRange(int.MaxValue, int.MaxValue); _nextSelection = new SelectionRange(int.MaxValue, int.MaxValue);
for (int index = 0; index < _ranges.Length; index++) for (int index = 0; index < _ranges.Length; index++)
{ {
SelectionRange range = _ranges[index]; var range = _ranges[index];
if (range.End >= position && (range.Start < _nextSelection.Start || (range.Start == _nextSelection.Start && range.End > _nextSelection.End))) if (range.End >= position && (range.Start < _nextSelection.Start || (range.Start == _nextSelection.Start && range.End > _nextSelection.End)))
{ {
_nextSelection = range; _nextSelection = range;
@ -599,7 +572,7 @@ namespace Nikse.SubtitleEdit.Controls
int index = 0; int index = 0;
while (index < _sceneChanges.Count) while (index < _sceneChanges.Count)
{ {
int pos = -1; int pos;
try try
{ {
double time = _sceneChanges[index++]; double time = _sceneChanges[index++];
@ -1020,7 +993,7 @@ namespace Nikse.SubtitleEdit.Controls
double seconds = RelativeXPositionToSeconds(e.X); double seconds = RelativeXPositionToSeconds(e.X);
var milliseconds = (int)(seconds * TimeCode.BaseUnit); var milliseconds = (int)(seconds * TimeCode.BaseUnit);
if (SetParagrapBorderHit(milliseconds, NewSelectionParagraph)) if (SetParagraphBorderHit(milliseconds, NewSelectionParagraph))
{ {
if (_mouseDownParagraph != null) if (_mouseDownParagraph != null)
{ {
@ -1051,7 +1024,7 @@ namespace Nikse.SubtitleEdit.Controls
} }
SetMinMaxViaSeconds(seconds); SetMinMaxViaSeconds(seconds);
} }
else if (SetParagrapBorderHit(milliseconds, _selectedParagraph) || else if (SetParagraphBorderHit(milliseconds, _selectedParagraph) ||
SetParagrapBorderHit(milliseconds, _displayableParagraphs)) SetParagrapBorderHit(milliseconds, _displayableParagraphs))
{ {
NewSelectionParagraph = null; NewSelectionParagraph = null;
@ -1292,7 +1265,7 @@ namespace Nikse.SubtitleEdit.Controls
{ {
foreach (Paragraph p in paragraphs) foreach (Paragraph p in paragraphs)
{ {
bool hit = SetParagrapBorderHit(milliseconds, p); bool hit = SetParagraphBorderHit(milliseconds, p);
if (hit) if (hit)
{ {
return true; return true;
@ -1324,21 +1297,21 @@ namespace Nikse.SubtitleEdit.Controls
return p; return p;
} }
private bool SetParagrapBorderHit(int milliseconds, Paragraph paragraph) private bool SetParagraphBorderHit(int milliseconds, Paragraph paragraph)
{ {
if (paragraph == null) if (paragraph == null)
{ {
return false; return false;
} }
if (IsParagrapBorderStartHit(milliseconds, paragraph.StartTime.TotalMilliseconds)) if (IsParagraphBorderStartHit(milliseconds, paragraph.StartTime.TotalMilliseconds))
{ {
_oldParagraph = new Paragraph(paragraph); _oldParagraph = new Paragraph(paragraph);
_mouseDownParagraph = paragraph; _mouseDownParagraph = paragraph;
_mouseDownParagraphType = MouseDownParagraphType.Start; _mouseDownParagraphType = MouseDownParagraphType.Start;
return true; return true;
} }
if (IsParagrapBorderEndHit(milliseconds, paragraph.EndTime.TotalMilliseconds)) if (IsParagraphBorderEndHit(milliseconds, paragraph.EndTime.TotalMilliseconds))
{ {
_oldParagraph = new Paragraph(paragraph); _oldParagraph = new Paragraph(paragraph);
_mouseDownParagraph = paragraph; _mouseDownParagraph = paragraph;
@ -1412,12 +1385,12 @@ namespace Nikse.SubtitleEdit.Controls
double seconds = RelativeXPositionToSeconds(e.X); double seconds = RelativeXPositionToSeconds(e.X);
var milliseconds = (int)(seconds * TimeCode.BaseUnit); var milliseconds = (int)(seconds * TimeCode.BaseUnit);
if (IsParagrapBorderHit(milliseconds, NewSelectionParagraph)) if (IsParagraphBorderHit(milliseconds, NewSelectionParagraph))
{ {
Cursor = Cursors.VSplit; Cursor = Cursors.VSplit;
} }
else if (IsParagrapBorderHit(milliseconds, _selectedParagraph) || else if (IsParagraphBorderHit(milliseconds, _selectedParagraph) ||
IsParagrapBorderHit(milliseconds, _displayableParagraphs)) IsParagraphBorderHit(milliseconds, _displayableParagraphs))
{ {
Cursor = Cursors.VSplit; Cursor = Cursors.VSplit;
} }
@ -1621,11 +1594,11 @@ namespace Nikse.SubtitleEdit.Controls
} }
} }
private bool IsParagrapBorderHit(int milliseconds, List<Paragraph> paragraphs) private bool IsParagraphBorderHit(int milliseconds, List<Paragraph> paragraphs)
{ {
foreach (Paragraph p in paragraphs) foreach (Paragraph p in paragraphs)
{ {
bool hit = IsParagrapBorderHit(milliseconds, p); bool hit = IsParagraphBorderHit(milliseconds, p);
if (hit) if (hit)
{ {
return true; return true;
@ -1634,23 +1607,23 @@ namespace Nikse.SubtitleEdit.Controls
return false; return false;
} }
private bool IsParagrapBorderHit(int milliseconds, Paragraph paragraph) private bool IsParagraphBorderHit(int milliseconds, Paragraph paragraph)
{ {
if (paragraph == null) if (paragraph == null)
{ {
return false; return false;
} }
return IsParagrapBorderStartHit(milliseconds, paragraph.StartTime.TotalMilliseconds) || return IsParagraphBorderStartHit(milliseconds, paragraph.StartTime.TotalMilliseconds) ||
IsParagrapBorderEndHit(milliseconds, paragraph.EndTime.TotalMilliseconds); IsParagraphBorderEndHit(milliseconds, paragraph.EndTime.TotalMilliseconds);
} }
private bool IsParagrapBorderStartHit(double milliseconds, double startMs) private bool IsParagraphBorderStartHit(double milliseconds, double startMs)
{ {
return Math.Abs(milliseconds - (startMs - 5)) - 10 <= ClosenessForBorderSelection; return Math.Abs(milliseconds - (startMs - 5)) - 10 <= ClosenessForBorderSelection;
} }
private bool IsParagrapBorderEndHit(double milliseconds, double endMs) private bool IsParagraphBorderEndHit(double milliseconds, double endMs)
{ {
return Math.Abs(milliseconds - (endMs - 22)) - 7 <= ClosenessForBorderSelection; return Math.Abs(milliseconds - (endMs - 22)) - 7 <= ClosenessForBorderSelection;
} }
@ -2063,7 +2036,7 @@ namespace Nikse.SubtitleEdit.Controls
else else
{ {
StartPositionSeconds += delta / 256.0; StartPositionSeconds += delta / 256.0;
_lastMouseWheelScroll = DateTime.UtcNow.Ticks; // nixe _lastMouseWheelScroll = DateTime.UtcNow.Ticks;
if (_currentVideoPositionSeconds < _startPositionSeconds || _currentVideoPositionSeconds >= EndPositionSeconds) if (_currentVideoPositionSeconds < _startPositionSeconds || _currentVideoPositionSeconds >= EndPositionSeconds)
{ {
OnPositionSelected?.Invoke(this, new ParagraphEventArgs(_startPositionSeconds, null)); OnPositionSelected?.Invoke(this, new ParagraphEventArgs(_startPositionSeconds, null));