private void GoFav(bool forward)
{
if (_curList.VirtualListSize == 0) return;
int fIdx = 0;
int toIdx = 0;
int stp = 1;
if (forward)
{
if (_curList.SelectedIndices.Count == 0)
{
fIdx = 0;
}
else
{
fIdx = _curList.SelectedIndices[0] + 1;
if (fIdx > _curList.VirtualListSize - 1) return;
}
toIdx = _curList.VirtualListSize;
stp = 1;
}
else
{
if (_curList.SelectedIndices.Count == 0)
{
fIdx = _curList.VirtualListSize - 1;
}
else
{
fIdx = _curList.SelectedIndices[0] - 1;
if (fIdx < 0) return;
}
toIdx = -1;
stp = -1;
}
for (int idx = fIdx; idx != toIdx; idx += stp)
{
if (_statuses.Tabs[_curTab.Text][idx].IsFav)
{
SelectListItem(_curList, idx);
_curList.EnsureVisible(idx);
break;
}
}
}