* fix for 3194: Use mouse to exit output screen

This commit is contained in:
marco 2005-04-04 03:59:13 +00:00
parent 1595efd65b
commit 517be15bc4

View File

@ -80,6 +80,7 @@ end;
procedure TIDEApp.DoUserScreen;
var Event : TEvent;
ev : TMouseEvent;
Clear : Boolean;
begin
if UserScreen=nil then
@ -91,31 +92,55 @@ begin
ShowUserScreen;
InitKeyBoard;
if UseMouse Then
InitMouse;
repeat
repeat
Drivers.GetKeyEvent(Event);
if Event.What=evNothing then
GiveUpTimeSlice;
until Event.What=evKeyboard;
Clear:=true;
if not UserScreen^.CanScroll then
if (Event.What and EvKeyboard)=evNothing then
Begin
If UseMouse Then
Begin
Drivers.GetMouseEvent(Event);
if (Event.What and evMouse)=evNothing then
GiveUpTimeSlice
else
Event.what:=evMouse;
End;
End
else
Event.what:=evkeyboard;
until Event.What in [evKeyboard,evmouse];
if event.what=evmouse then
Clear:=false
else
case Event.keycode of
kbPgUp : UserScreen^.Scroll(-20);
kbPgDn : UserScreen^.Scroll(20);
kbUp : UserScreen^.Scroll(-1);
kbDown : UserScreen^.Scroll(1);
kbHome : UserScreen^.Scroll(-1024);
kbEnd : UserScreen^.Scroll(+1024);
else
Clear:=false;
begin
Clear:=true;
if not UserScreen^.CanScroll then
Clear:=false
else
case Event.keycode of
kbPgUp : UserScreen^.Scroll(-20);
kbPgDn : UserScreen^.Scroll(20);
kbUp : UserScreen^.Scroll(-1);
kbDown : UserScreen^.Scroll(1);
kbHome : UserScreen^.Scroll(-1024);
kbEnd : UserScreen^.Scroll(+1024);
else
Clear:=false;
end;
end;
if Clear then
ClearEvent(Event);
until Event.what=evKeyboard;
until Event.what in [evKeyboard,evmouse];
while (Keyboard.PollKeyEvent<>0) do
Keyboard.GetKeyEvent;
Keyboard.GetKeyEvent;
if UseMouse Then
Begin
while PollMouseEvent(Ev) do
GetMouseEvent(ev);
donemouse;
End;
DoneKeyboard;
ShowIDEScreen;
@ -258,7 +283,10 @@ end;
{
$Log$
Revision 1.9 2005-02-14 17:13:18 peter
Revision 1.10 2005-04-04 03:59:13 marco
* fix for 3194: Use mouse to exit output screen
Revision 1.9 2005/02/14 17:13:18 peter
* truncate log
Revision 1.8 2005/01/08 11:43:18 florian