mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-27 06:30:01 +02:00
* fix for 3194: Use mouse to exit output screen
This commit is contained in:
parent
1595efd65b
commit
517be15bc4
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user