mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
parent
8a7eabedfe
commit
9c9dce9c15
@ -89,16 +89,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
var files = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||
foreach (string fileName in files)
|
||||
{
|
||||
bool alreadyInList = false;
|
||||
foreach (string existingFileName in _fileNamesToJoin)
|
||||
{
|
||||
if (existingFileName.Equals(fileName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
alreadyInList = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!alreadyInList)
|
||||
if (!_fileNamesToJoin.Any(file => file.Equals(fileName, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
_fileNamesToJoin.Add(fileName);
|
||||
}
|
||||
@ -118,7 +109,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
try
|
||||
{
|
||||
var sub = new Subtitle();
|
||||
SubtitleFormat format = null;
|
||||
SubtitleFormat format;
|
||||
var lines = FileUtil.ReadAllLinesShared(fileName, LanguageAutoDetect.GetEncodingFromFile(fileName));
|
||||
if (lastFormat != null && lastFormat.IsMine(lines, fileName))
|
||||
{
|
||||
@ -164,36 +155,22 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
for (int j = k; j < _fileNamesToJoin.Count; j++)
|
||||
{
|
||||
_fileNamesToJoin.RemoveAt(j);
|
||||
}
|
||||
MessageBox.Show("Unkown subtitle format: " + fileName);
|
||||
Revert(k, Configuration.Settings.Language.UnknownSubtitle.Title + Environment.NewLine + fileName);
|
||||
break;
|
||||
}
|
||||
|
||||
if (sub.Header != null)
|
||||
{
|
||||
header = sub.Header;
|
||||
}
|
||||
|
||||
if (lastFormat == null || lastFormat.FriendlyName == format.FriendlyName)
|
||||
{
|
||||
lastFormat = format;
|
||||
}
|
||||
else
|
||||
{
|
||||
lastFormat = new SubRip(); // default subtitle format
|
||||
}
|
||||
lastFormat = lastFormat == null || lastFormat.FriendlyName == format.FriendlyName ? format : new SubRip();
|
||||
|
||||
subtitles.Add(sub);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
for (int j = k; j < _fileNamesToJoin.Count; j++)
|
||||
{
|
||||
_fileNamesToJoin.RemoveAt(j);
|
||||
}
|
||||
MessageBox.Show(exception.Message);
|
||||
Revert(k, exception.Message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -266,6 +243,15 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
labelTotalLines.Text = string.Format(Configuration.Settings.Language.JoinSubtitles.TotalNumberOfLinesX, JoinedSubtitle.Paragraphs.Count);
|
||||
}
|
||||
|
||||
private void Revert(int idx, string message)
|
||||
{
|
||||
for (int i = _fileNamesToJoin.Count - 1; i >= idx; i--)
|
||||
{
|
||||
_fileNamesToJoin.RemoveAt(i);
|
||||
}
|
||||
MessageBox.Show(message);
|
||||
}
|
||||
|
||||
private void JoinSubtitles_Resize(object sender, EventArgs e)
|
||||
{
|
||||
columnHeaderFileName.Width = -2;
|
||||
@ -288,15 +274,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
var fileInfo = new FileInfo(fileName);
|
||||
if (fileInfo.Length < Subtitle.MaxFileSize)
|
||||
{
|
||||
bool alreadyInList = false;
|
||||
foreach (string existingFileName in _fileNamesToJoin)
|
||||
{
|
||||
if (existingFileName.Equals(fileName, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
alreadyInList = true;
|
||||
}
|
||||
}
|
||||
if (!alreadyInList)
|
||||
if (!_fileNamesToJoin.Any(file => file.Equals(fileName, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
_fileNamesToJoin.Add(fileName);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user