From f15f245d9ff7af5382acfc07a063e3dbd202757f Mon Sep 17 00:00:00 2001 From: martin Date: Wed, 8 May 2019 19:53:57 +0000 Subject: [PATCH] IDE: Hide component palette pages dropdown, when app is deactivated git-svn-id: trunk@61181 - --- ide/comppagespopup.pas | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ide/comppagespopup.pas b/ide/comppagespopup.pas index bb5aa0830c..ff6c6734ee 100644 --- a/ide/comppagespopup.pas +++ b/ide/comppagespopup.pas @@ -58,6 +58,7 @@ type fGroups: TStringList; // Objects have group TreeNodes fLastCloseUp: QWord; fLastCanShowCheck: Boolean; + procedure AppDeactivated(Sender: TObject); procedure FindGroups; procedure BuildTreeItem(aPageCapt: string); procedure BuildList; @@ -68,6 +69,7 @@ type procedure DoClose(var CloseAction: TCloseAction); override; public PositionForControl: TControl; + destructor Destroy; override; procedure FixBounds; procedure CanShowCheck; property LastCanShowCheck: Boolean read fLastCanShowCheck; @@ -97,6 +99,7 @@ end; procedure TDlgCompPagesPopup.FormShow(Sender: TObject); begin BuildList; + Application.AddOnDeactivateHandler(@AppDeactivated); end; procedure TDlgCompPagesPopup.FormDeactivate(Sender: TObject); @@ -121,11 +124,18 @@ end; procedure TDlgCompPagesPopup.DoClose(var CloseAction: TCloseAction); begin inherited DoClose(CloseAction); + Application.RemoveOnDeactivateHandler(@AppDeactivated); if CloseAction = caHide then fLastCloseUp := GetTickCount64; end; +destructor TDlgCompPagesPopup.Destroy; +begin + Application.RemoveOnDeactivateHandler(@AppDeactivated); + inherited Destroy; +end; + procedure TDlgCompPagesPopup.DoCreate; begin inherited DoCreate; @@ -243,6 +253,11 @@ begin fGroups.Delete(i); end; +procedure TDlgCompPagesPopup.AppDeactivated(Sender: TObject); +begin + Close; +end; + procedure TDlgCompPagesPopup.BuildTreeItem(aPageCapt: string); // Create items in tree, grouping as needed. var