mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-27 11:40:29 +02:00
IDE: OnUserInput/NotifyApplicationUserInput fixes
This commit is contained in:
parent
899f36897a
commit
0b316d9d07
@ -114,6 +114,7 @@ end;
|
||||
procedure TResizeControl.AppOnIdle(Sender: TObject; var Done: Boolean);
|
||||
var
|
||||
LFakeMenuNeeded: Boolean;
|
||||
Mess : TLMessage;
|
||||
begin
|
||||
if FDesignerModified then
|
||||
begin
|
||||
@ -124,7 +125,9 @@ begin
|
||||
TryBoundDesignForm;
|
||||
if Assigned(OnResized) then
|
||||
OnResized(Self);
|
||||
Application.NotifyUserInputHandler(Self, 0); // force repaint invisible components
|
||||
FillChar(Mess,SizeOf(Mess),0);
|
||||
Mess.Msg := 0;
|
||||
Application.NotifyUserInputHandler(Self, Mess); // force repaint invisible components
|
||||
end else
|
||||
if LFakeMenuNeeded then
|
||||
TryBoundDesignForm; // always repaint menu on modification
|
||||
|
@ -43,7 +43,7 @@ uses
|
||||
// LazUtils
|
||||
LazStringUtils, LazLoggerBase, LazTracer,
|
||||
// LCL
|
||||
LCLProc, LCLType, Forms, Controls, Dialogs, Buttons, ComCtrls, Menus, ExtCtrls, EditBtn,
|
||||
LCLProc, LCLType, LMessages, Forms, Controls, Dialogs, Buttons, ComCtrls, Menus, ExtCtrls, EditBtn,
|
||||
// CodeTools
|
||||
FileProcs, BasicCodeTools, CustomCodeTool, CodeToolManager, CodeAtom,
|
||||
CodeCache, CodeTree, KeywordFuncLists, FindDeclarationTool, DirectivesTree,
|
||||
@ -159,7 +159,7 @@ type
|
||||
procedure TreeviewDblClick(Sender: TObject);
|
||||
procedure TreeviewDeletion(Sender: TObject; Node: TTreeNode);
|
||||
procedure TreeviewKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure UserInputHandler(Sender: TObject; {%H-}Msg: Cardinal);
|
||||
procedure UserInputHandler(Sender: TObject; var Msg: TLMessage);
|
||||
private
|
||||
fCategoryNodes: array[TCodeExplorerCategory] of TTreeNode;
|
||||
FCodeFilename: string;
|
||||
@ -734,7 +734,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCodeExplorerView.UserInputHandler(Sender: TObject; Msg: Cardinal);
|
||||
procedure TCodeExplorerView.UserInputHandler(Sender: TObject; var Msg: TLMessage);
|
||||
begin
|
||||
if CodeExplorerOptions.Refresh=cerOnIdle then
|
||||
CheckOnIdle;
|
||||
|
@ -61,7 +61,7 @@ uses
|
||||
// fpc packages
|
||||
Math, Classes, SysUtils, TypInfo, Types, StrUtils, Contnrs, process, AVL_Tree,
|
||||
// LCL
|
||||
LCLProc, LCLType, LCLIntf, LResources, HelpIntfs, InterfaceBase, LCLPlatformDef,
|
||||
LCLProc, LCLType, LCLIntf, LMessages, LResources, HelpIntfs, InterfaceBase, LCLPlatformDef,
|
||||
ComCtrls, Forms, Buttons, Menus, Controls, Graphics, ExtCtrls, Dialogs, LclStrConsts,
|
||||
// CodeTools
|
||||
FileProcs, FindDeclarationTool, LinkScanner, BasicCodeTools, CodeToolsStructs,
|
||||
@ -186,7 +186,7 @@ type
|
||||
// event handlers
|
||||
procedure MainIDEFormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
|
||||
procedure MainIDEFormCloseQuery(Sender: TObject; var CanClose: boolean);
|
||||
procedure HandleApplicationUserInput(Sender: TObject; {%H-}Msg: Cardinal);
|
||||
procedure HandleApplicationUserInput(Sender: TObject; var Msg: TLMessage);
|
||||
procedure HandleApplicationIdle(Sender: TObject; var {%H-}Done: Boolean);
|
||||
procedure HandleApplicationActivate(Sender: TObject);
|
||||
procedure HandleApplicationDeActivate(Sender: TObject);
|
||||
@ -12512,7 +12512,7 @@ begin
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TMainIDE.HandleApplicationUserInput(Sender: TObject; Msg: Cardinal);
|
||||
procedure TMainIDE.HandleApplicationUserInput(Sender: TObject; var Msg: TLMessage);
|
||||
begin
|
||||
Include(FIdleIdeActions, iiaUserInputSinceLastIdle);
|
||||
if ToolStatus=itCodeTools then
|
||||
|
@ -1268,7 +1268,7 @@ type
|
||||
function FindUniquePageName(FileName:string; IgnoreEditor: TSourceEditor):string;
|
||||
function SomethingModified(Verbose: boolean = false): boolean;
|
||||
procedure OnIdle(Sender: TObject; var {%H-}Done: Boolean);
|
||||
procedure OnUserInput(Sender: TObject; Msg: Cardinal);
|
||||
procedure OnUserInput(Sender: TObject; var Msg: TLMessage);
|
||||
procedure LockAllEditorsInSourceChangeCache;
|
||||
procedure UnlockAllEditorsInSourceChangeCache;
|
||||
procedure BeginGlobalUpdate;
|
||||
@ -11862,7 +11862,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TSourceEditorManager.OnUserInput(Sender: TObject; Msg: Cardinal);
|
||||
procedure TSourceEditorManager.OnUserInput(Sender: TObject; var Msg: TLMessage);
|
||||
begin
|
||||
CodeToolsToSrcEditTimer.Enabled:=true;
|
||||
// Hints
|
||||
@ -11872,16 +11872,16 @@ begin
|
||||
if FHints.PtIsOnHint(Mouse.CursorPos) then begin // ignore any action over Hint
|
||||
if FHints.CurHintWindow.Active then
|
||||
exit;
|
||||
if (Msg = WM_MOUSEMOVE)
|
||||
or (Msg = LM_MOUSELEAVE)
|
||||
if (Msg.Msg = WM_MOUSEMOVE)
|
||||
or (Msg.Msg = LM_MOUSELEAVE)
|
||||
{$IFDEF WINDOWS}
|
||||
or (Msg = WM_NCMOUSEMOVE)
|
||||
or ((Msg >= WM_MOUSEFIRST) and (Msg <= WM_MOUSELAST))
|
||||
or (Msg.Msg = WM_NCMOUSEMOVE)
|
||||
or ((Msg.Msg >= WM_MOUSEFIRST) and (Msg.Msg <= WM_MOUSELAST))
|
||||
{$ENDIF}
|
||||
then
|
||||
exit;
|
||||
end;
|
||||
if (Msg = WM_MOUSEMOVE) {$IFDEF WINDOWS} or (Msg = WM_NCMOUSEMOVE){$ENDIF} then begin
|
||||
if (Msg.Msg = WM_MOUSEMOVE) {$IFDEF WINDOWS} or (Msg.Msg = WM_NCMOUSEMOVE){$ENDIF} then begin
|
||||
FHints.HideAutoHintAfterMouseMoved;
|
||||
exit;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user