InputRoll - fix behavior of up/down arrow keys
This commit is contained in:
parent
44a2565f5c
commit
a17584a319
|
@ -1382,18 +1382,32 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Up
|
else if (!e.Control && !e.Shift && !e.Alt && e.KeyCode == Keys.Up) // Up
|
||||||
{
|
{
|
||||||
if (FirstVisibleRow > 0)
|
if (SelectedRows.Any())
|
||||||
{
|
{
|
||||||
FirstVisibleRow--;
|
var selectedRow = SelectedRows.First();
|
||||||
Refresh();
|
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
|
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();
|
||||||
Refresh();
|
if (selectedRow < RowCount - 1)
|
||||||
|
{
|
||||||
|
var targetSelectedRow = selectedRow + 1;
|
||||||
|
DeselectAll();
|
||||||
|
SelectRow(targetSelectedRow, true);
|
||||||
|
ScrollToIndex(targetSelectedRow);
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Selection courser
|
// Selection courser
|
||||||
|
|
Loading…
Reference in New Issue