InputRoll - slight tweak to the SelectedIndexChanged event logic

This commit is contained in:
adelikat 2014-10-25 14:10:32 +00:00
parent 7b4f5c4a1b
commit 3d30bd082e
2 changed files with 10 additions and 11 deletions

View File

@ -1316,8 +1316,16 @@ namespace BizHawk.Client.EmuHawk
}
else
{
var hadIndex = SelectedItems.Any();
SelectedItems.Clear();
SelectCell(CurrentCell);
// In this case the SelectCell did not invoke the change event since there was nothing to select
// But we went from selected to unselected, that is a change, so catch it here
if (hadIndex && CurrentCell.RowIndex.HasValue && CurrentCell.RowIndex > RowCount)
{
SelectedIndexChanged(this, new EventArgs());
}
}
Refresh();

View File

@ -113,7 +113,7 @@ namespace BizHawk.Client.EmuHawk
private void MarkerView_SelectedIndexChanged(object sender, EventArgs e)
{
RemoveBtn.Enabled = SelectedIndices.Any(i => i < Tastudio.CurrentTasMovie.Markers.Count);
RemoveBtn.Enabled = MarkerView.SelectedRows.Any(i => i < Tastudio.CurrentTasMovie.Markers.Count);
}
private void RemoveBtn_Click(object sender, EventArgs e)
@ -123,20 +123,11 @@ namespace BizHawk.Client.EmuHawk
MarkerView_SelectedIndexChanged(sender, e);
}
private IEnumerable<int> SelectedIndices
{
get
{
return MarkerView.SelectedRows
.OfType<int>();
}
}
private List<TasMovieMarker> SelectedMarkers
{
get
{
return SelectedIndices
return MarkerView.SelectedRows
.Select(index => Tastudio.CurrentTasMovie.Markers[index])
.ToList();
}