mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-28 06:52:35 +01:00
Merge pull request #5388 from OmrSi/save-smpte-status
Save SMPTE status for recent files
This commit is contained in:
commit
bb7e69eb18
@ -22,6 +22,7 @@ namespace Nikse.SubtitleEdit.Core.Common
|
||||
public int FirstVisibleIndex { get; set; }
|
||||
public int FirstSelectedIndex { get; set; }
|
||||
public long VideoOffsetInMs { get; set; }
|
||||
public bool VideoIsSmpte { get; set; }
|
||||
}
|
||||
|
||||
public class RecentFilesSettings
|
||||
@ -36,7 +37,7 @@ namespace Nikse.SubtitleEdit.Core.Common
|
||||
Files = new List<RecentFileEntry>();
|
||||
}
|
||||
|
||||
public void Add(string fileName, int firstVisibleIndex, int firstSelectedIndex, string videoFileName, string originalFileName, long videoOffset)
|
||||
public void Add(string fileName, int firstVisibleIndex, int firstSelectedIndex, string videoFileName, string originalFileName, long videoOffset, bool isSmpte)
|
||||
{
|
||||
Files = Files.Where(p => !string.IsNullOrEmpty(p.FileName)).ToList();
|
||||
|
||||
@ -61,10 +62,11 @@ namespace Nikse.SubtitleEdit.Core.Common
|
||||
{
|
||||
Files.Remove(existingEntry);
|
||||
existingEntry.FirstSelectedIndex = firstSelectedIndex;
|
||||
existingEntry.VideoOffsetInMs = videoOffset;
|
||||
existingEntry.FirstVisibleIndex = firstVisibleIndex;
|
||||
existingEntry.VideoFileName = videoFileName;
|
||||
existingEntry.OriginalFileName = originalFileName;
|
||||
existingEntry.VideoOffsetInMs = videoOffset;
|
||||
existingEntry.VideoIsSmpte = isSmpte;
|
||||
Files.Insert(0, existingEntry);
|
||||
}
|
||||
Files = Files.Take(MaxRecentFiles).ToList();
|
||||
@ -1256,6 +1258,7 @@ $HorzAlign = Center
|
||||
public bool ShowNegativeDurationInfoOnSave { get; set; }
|
||||
public bool ShowFormatRequiresUtf8Warning { get; set; }
|
||||
public long CurrentVideoOffsetInMs { get; set; }
|
||||
public bool CurrentVideoIsSmpte { get; set; }
|
||||
public string TitleBarAsterisk { get; set; } // Show asteriks "before" or "after" file name (any other value will hide asteriks)
|
||||
public bool TitleBarFullFileName { get; set; } // Show full file name with path or just file name
|
||||
public bool MeasurementConverterCloseOnInsert { get; set; }
|
||||
@ -2704,7 +2707,13 @@ $HorzAlign = Center
|
||||
long.TryParse(listNode.Attributes["VideoOffset"].Value, out videoOffset);
|
||||
}
|
||||
|
||||
settings.RecentFiles.Files.Add(new RecentFileEntry { FileName = listNode.InnerText, FirstVisibleIndex = int.Parse(firstVisibleIndex, CultureInfo.InvariantCulture), FirstSelectedIndex = int.Parse(firstSelectedIndex, CultureInfo.InvariantCulture), VideoFileName = videoFileName, OriginalFileName = originalFileName, VideoOffsetInMs = videoOffset });
|
||||
bool isSmpte = false;
|
||||
if (listNode.Attributes["IsSmpte"] != null)
|
||||
{
|
||||
bool.TryParse(listNode.Attributes["IsSmpte"].Value, out isSmpte);
|
||||
}
|
||||
|
||||
settings.RecentFiles.Files.Add(new RecentFileEntry { FileName = listNode.InnerText, FirstVisibleIndex = int.Parse(firstVisibleIndex, CultureInfo.InvariantCulture), FirstSelectedIndex = int.Parse(firstSelectedIndex, CultureInfo.InvariantCulture), VideoFileName = videoFileName, OriginalFileName = originalFileName, VideoOffsetInMs = videoOffset, VideoIsSmpte = isSmpte });
|
||||
}
|
||||
|
||||
// General
|
||||
@ -8634,11 +8643,17 @@ $HorzAlign = Center
|
||||
|
||||
textWriter.WriteAttributeString("FirstVisibleIndex", item.FirstVisibleIndex.ToString(CultureInfo.InvariantCulture));
|
||||
textWriter.WriteAttributeString("FirstSelectedIndex", item.FirstSelectedIndex.ToString(CultureInfo.InvariantCulture));
|
||||
|
||||
if (item.VideoOffsetInMs != 0)
|
||||
{
|
||||
textWriter.WriteAttributeString("VideoOffset", item.VideoOffsetInMs.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
|
||||
if (item.VideoIsSmpte)
|
||||
{
|
||||
textWriter.WriteAttributeString("VideoIsSmpte", item.VideoIsSmpte.ToString(CultureInfo.InvariantCulture));
|
||||
}
|
||||
|
||||
textWriter.WriteString(item.FileName);
|
||||
textWriter.WriteEndElement();
|
||||
}
|
||||
|
@ -2181,7 +2181,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
openFileDialog1.InitialDirectory = saveFileDialog1.InitialDirectory;
|
||||
_fileName = saveFileDialog1.FileName;
|
||||
SetTitle();
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
}
|
||||
else
|
||||
@ -2542,10 +2542,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
// save last first visible index + first selected index from listview
|
||||
if (_fileName != null && updateRecentFile)
|
||||
{
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
}
|
||||
|
||||
Configuration.Settings.General.CurrentVideoOffsetInMs = 0;
|
||||
Configuration.Settings.General.CurrentVideoIsSmpte = false;
|
||||
|
||||
openFileDialog1.InitialDirectory = file.DirectoryName;
|
||||
|
||||
@ -3412,6 +3413,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
_subtitleListViewIndex = -1;
|
||||
Configuration.Settings.General.CurrentVideoOffsetInMs = 0;
|
||||
Configuration.Settings.General.CurrentVideoIsSmpte = false;
|
||||
|
||||
if (_resetVideo && ModifierKeys != Keys.Shift)
|
||||
{
|
||||
@ -3657,7 +3659,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
audioVisualizer.SceneChanges = new List<double>();
|
||||
audioVisualizer.Chapters = new List<MatroskaChapter>();
|
||||
|
||||
Configuration.Settings.RecentFiles.Add(fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
UpdateRecentFilesUI();
|
||||
_fileName = fileName;
|
||||
@ -4002,7 +4004,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_fileName))
|
||||
{
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
}
|
||||
|
||||
RecentFileEntry rfe = null;
|
||||
@ -4072,6 +4074,12 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
SubtitleListview1.Fill(_subtitle);
|
||||
}
|
||||
}
|
||||
|
||||
Configuration.Settings.General.CurrentVideoIsSmpte = rfe.VideoIsSmpte;
|
||||
if (rfe.VideoIsSmpte)
|
||||
{
|
||||
SmpteTimeModedropFrameToolStripMenuItem_Click(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
private void GotoSubPosAndPause()
|
||||
@ -4259,7 +4267,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
Configuration.Settings.General.LastSaveAsFormat = format.Name;
|
||||
SetCurrentFormat(format);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
UpdateRecentFilesUI();
|
||||
_changeSubtitleHash = GetFastSubtitleHash();
|
||||
@ -4301,7 +4309,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (ebu.Save(_fileName, sub, !_saveAsCalled, header))
|
||||
{
|
||||
_changeSubtitleHash = GetFastSubtitleHash();
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
}
|
||||
}
|
||||
@ -4477,7 +4485,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}, TimeSpan.FromSeconds(1), 4);
|
||||
}
|
||||
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
new BookmarkPersistence(_subtitle, _fileName).Save();
|
||||
_fileDateTime = File.GetLastWriteTime(_fileName);
|
||||
@ -4529,7 +4537,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
if (ebu.Save(_subtitleOriginalFileName, subAlt))
|
||||
{
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
ShowStatus(string.Format(_language.SavedOriginalSubtitleX, _subtitleOriginalFileName));
|
||||
_changeOriginalSubtitleHash = GetFastSubtitleOriginalHash();
|
||||
@ -4655,6 +4663,8 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
labelDurationWarning.Text = string.Empty;
|
||||
|
||||
Configuration.Settings.General.CurrentVideoOffsetInMs = 0;
|
||||
Configuration.Settings.General.CurrentVideoIsSmpte = false;
|
||||
smpteTimeModedropFrameToolStripMenuItem.Checked = false;
|
||||
_subtitle = new Subtitle(_subtitle.HistoryItems);
|
||||
_changeOriginalSubtitleHash = -1;
|
||||
_changeSubtitleHash = -1;
|
||||
@ -4778,7 +4788,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
if (Configuration.Settings.General.ShowRecentFiles)
|
||||
{
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
}
|
||||
|
||||
MakeHistoryForUndo(_language.BeforeNew);
|
||||
@ -12142,7 +12152,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_fileName))
|
||||
{
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
}
|
||||
else if (Configuration.Settings.RecentFiles.Files.Count > 0)
|
||||
{
|
||||
@ -20180,7 +20190,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
SubtitleListview1.Fill(_subtitle, _subtitleOriginal);
|
||||
RestoreSubtitleListviewIndices();
|
||||
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
UpdateRecentFilesUI();
|
||||
MainResize();
|
||||
@ -26333,7 +26343,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
SetTitle();
|
||||
if (_fileName != null)
|
||||
{
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -26375,7 +26385,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
if (_fileName != null && updateRecentFiles)
|
||||
{
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs);
|
||||
Configuration.Settings.RecentFiles.Add(_fileName, FirstVisibleIndex, FirstSelectedIndex, VideoFileName, _subtitleOriginalFileName, Configuration.Settings.General.CurrentVideoOffsetInMs, Configuration.Settings.General.CurrentVideoIsSmpte);
|
||||
Configuration.Settings.Save();
|
||||
UpdateRecentFilesUI();
|
||||
}
|
||||
@ -30520,6 +30530,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
smpteTimeModedropFrameToolStripMenuItem.Checked = !smpteTimeModedropFrameToolStripMenuItem.Checked;
|
||||
mediaPlayer.SmpteMode = smpteTimeModedropFrameToolStripMenuItem.Checked;
|
||||
Configuration.Settings.General.CurrentVideoIsSmpte = smpteTimeModedropFrameToolStripMenuItem.Checked;
|
||||
if (audioVisualizer.WavePeaks != null)
|
||||
{
|
||||
ReloadWaveform(VideoFileName, VideoAudioTrackNumber);
|
||||
|
Loading…
Reference in New Issue
Block a user