private void btnReset_Click(object sender, EventArgs e)
{
StopPreview(false);
btnUndo.Enabled = true;
int countDiff = _listFramesEdit.Count - _listFrames.Count;
#region Resets the list of frames
_listFramesUndo.Clear();
foreach (var name in _listFramesEdit)
{
_listFramesUndo.Add(name.Replace("Edit", "Undo"));
File.Copy(name, name.Replace("Edit", "Undo"), true);
}
_listFramesEdit.Clear();
int frameActual = 0;
foreach (var frame in _listFrames)
{
File.Copy(frame, _pathTemp + String.Format(@"Edit\{0}.bmp", frameActual), true);
_listFramesEdit.Add(_pathTemp + String.Format(@"Edit\{0}.bmp", frameActual));
frameActual++;
}
#endregion
#region Resets the list of delays
_listDelayUndo.Clear();
_listDelayUndo = new List<int>(_listDelayEdit);
_listDelayEdit.Clear();
_listDelayEdit = new List<int>(_listDelay);
#endregion
trackBar.Maximum = _listFramesEdit.Count - 1;
pictureBitmap.Image = _listFramesEdit[trackBar.Value].From();
this.Text = Resources.Title_EditorFrame + trackBar.Value + " - " + (_listFramesEdit.Count - 1);
ResizeFormToImage();
#region Update TreeView
if (countDiff > 0)
{
//If Undo is smaller, it means that we need to remove
tvFrames.Remove(countDiff);
}
else if (countDiff < 0)
{
//If Undo is greater, it means that we need to add
tvFrames.Add(Math.Abs(countDiff));
}
#endregion
DelayUpdate();
GC.Collect();
}