HOME/END in lightbar file lister

This commit is contained in:
mysticbbs 2012-02-24 12:22:47 -05:00
parent 6210a9dfa1
commit 7a5d1a0ad9
2 changed files with 32 additions and 1 deletions

View File

@ -3850,3 +3850,10 @@
! MBBSUTIL was sorting BBS Lists and File Lists in reverse alphabetical ! MBBSUTIL was sorting BBS Lists and File Lists in reverse alphabetical
order. This is now fixed to sort as most people would expect. order. This is now fixed to sort as most people would expect.
+ The HOME key now functions in the lightbar file listings to move to the
beginning of the list.
+ The END key now functions in the lightbar file listing. It is kind of a
half-assed implementation though, since doing it "the right way" will
involve some extra coding in the future.

View File

@ -1589,7 +1589,7 @@ Var
If (FDir.Flags And FDirDeleted <> 0) Then Exit; If (FDir.Flags And FDirDeleted <> 0) Then Exit;
If (FDir.Flags And FDirInvalid <> 0) And (Not Session.User.Access(Config.AcsSeeUnvalid)) Then Exit; If (FDir.Flags And FDirInvalid <> 0) And (Not Session.User.Access(Config.AcsSeeUnvalid)) Then Exit;
If (FDir.Flags And FDirFailed <> 0) And (Not Session.User.Access(Config.AcsSeeFailed)) Then Exit; If (FDir.Flags And FDirFailed <> 0) And (Not Session.User.Access(Config.AcsSeeFailed)) Then Exit;
Case Mode of Case Mode of
1 : If Data <> '' Then 1 : If Data <> '' Then
@ -1597,20 +1597,25 @@ Var
2 : If FDir.DateTime < FScan.LastNew Then Exit; 2 : If FDir.DateTime < FScan.LastNew Then Exit;
3 : Begin 3 : Begin
T2 := Bool_Search(Data, FDir.FileName); T2 := Bool_Search(Data, FDir.FileName);
If Not T2 Then Begin If Not T2 Then Begin
Seek (DataFile, FDir.DescPtr); Seek (DataFile, FDir.DescPtr);
For A := 1 to FDir.DescLines Do Begin For A := 1 to FDir.DescLines Do Begin
BlockRead (DataFile, Temp[0], 1); BlockRead (DataFile, Temp[0], 1);
BlockRead (DataFile, Temp[1], Length(Temp)); BlockRead (DataFile, Temp[1], Length(Temp));
If Bool_Search(Data, Temp) Then Begin If Bool_Search(Data, Temp) Then Begin
T2 := True; T2 := True;
Break; Break;
End; End;
End; End;
End; End;
If Not T2 Then Exit; If Not T2 Then Exit;
End; End;
End; End;
OkFile := True; OkFile := True;
End; End;
@ -1990,6 +1995,14 @@ Var
If Session.io.IsArrow Then Begin If Session.io.IsArrow Then Begin
Case Ch of Case Ch of
#71 : If CurPage > 1 Then Begin
While CurPage > 1 Do PrevPage;
CurPos := 1;
DrawPage;
End Else If CurPos > 1 Then Begin
BarOFF;
CurPos := 1;
End;
#72 : If (CurPos > 1) and (ListSize > 0) Then Begin #72 : If (CurPos > 1) and (ListSize > 0) Then Begin
BarOFF; BarOFF;
Dec (CurPos); Dec (CurPos);
@ -2008,6 +2021,17 @@ Var
BarOFF; BarOFF;
CurPos := 1; CurPos := 1;
End; End;
#79 : If LastPage Then Begin
BarOFF;
CurPos := ListSize;
End Else Begin
While Not LastPage Do Begin
NextPage;
DrawPage;
End;
CurPos := ListSize;
End;
#80 : If CurPos < ListSize Then Begin #80 : If CurPos < ListSize Then Begin
BarOFF; BarOFF;
Inc (CurPos); Inc (CurPos);