InputRoll - fix behavior of up/down arrow keys

This commit is contained in:
adelikat 2019-11-26 11:27:55 -06:00
parent 44a2565f5c
commit a17584a319
1 changed files with 20 additions and 6 deletions

View File

@ -1382,20 +1382,34 @@ namespace BizHawk.Client.EmuHawk
}
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Up
{
if (FirstVisibleRow > 0)
if (SelectedRows.Any())
{
FirstVisibleRow--;
var selectedRow = SelectedRows.First();
if (selectedRow > 0)
{
var targetSelectedRow = selectedRow - 1;
DeselectAll();
SelectRow(targetSelectedRow, true);
ScrollToIndex(targetSelectedRow);
Refresh();
}
}
}
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Down) // Down
{
if (FirstVisibleRow < RowCount - 1)
if (SelectedRows.Any())
{
FirstVisibleRow++;
var selectedRow = SelectedRows.First();
if (selectedRow < RowCount - 1)
{
var targetSelectedRow = selectedRow + 1;
DeselectAll();
SelectRow(targetSelectedRow, true);
ScrollToIndex(targetSelectedRow);
Refresh();
}
}
}
// Selection courser
else if (e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Ctrl + Up
{