Rewrite MovieView_ColumnClick, also fixes typo

This commit is contained in:
YoshiRulz 2019-02-24 15:49:10 +10:00
parent a572b220f6
commit 13152d670f
No known key found for this signature in database
GPG Key ID: C4DE31C245353FB7
2 changed files with 62 additions and 160 deletions

View File

@ -346,97 +346,48 @@ namespace BizHawk.Client.EmuHawk
private void MovieView_ColumnClick(object sender, ColumnClickEventArgs e)
{
var columnName = MovieView.Columns[e.Column].Text;
if (_sortedCol != columnName)
{
_sortReverse = false;
}
switch (columnName)
{
case "File":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
default:
_movieList = _movieList.OrderBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
break;
case "SysID":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
_movieList = _movieList.OrderBy(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
break;
case "Game":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
_movieList = _movieList.OrderBy(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
break;
case "Length (est.)":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ToList();
}
_movieList = _movieList.OrderBy(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ToList();
break;
}
_sortedCol = columnName;
_sortReverse = !_sortReverse;
if (_sortedCol == columnName && _sortReverse)
{
_movieList.Reverse();
_sortReverse = false;
}
else
{
_sortReverse = true;
_sortedCol = columnName;
}
MovieView.Refresh();
}

View File

@ -339,97 +339,48 @@ namespace BizHawk.Client.MultiHawk
private void MovieView_ColumnClick(object sender, ColumnClickEventArgs e)
{
var columnName = MovieView.Columns[e.Column].Text;
if (_sortedCol != columnName)
{
_sortReverse = false;
}
switch (columnName)
{
case "File":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
default:
_movieList = _movieList.OrderBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
break;
case "SysID":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
}
_movieList = _movieList.OrderBy(x => x.SystemID)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.GameName)
.ThenBy(x => x.FrameCount)
.ToList();
break;
case "Game":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
_movieList = _movieList.OrderBy(x => x.GameName)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
break;
case "Length (est.)":
if (_sortReverse)
{
_movieList = _movieList
.OrderByDescending(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.FrameCount)
.ToList();
}
else
{
_movieList = _movieList
.OrderBy(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ToList();
}
_movieList = _movieList.OrderBy(x => x.FrameCount)
.ThenBy(x => Path.GetFileName(x.Filename))
.ThenBy(x => x.SystemID)
.ThenBy(x => x.GameName)
.ToList();
break;
}
_sortedCol = columnName;
_sortReverse = !_sortReverse;
if (_sortedCol == columnName && _sortReverse)
{
_movieList.Reverse();
_sortReverse = false;
}
else
{
_sortReverse = true;
_sortedCol = columnName;
}
MovieView.Refresh();
}