From 483871416f0c9d78a14e40ccaac6445dc9e3b5a9 Mon Sep 17 00:00:00 2001 From: juha Date: Fri, 5 Dec 2014 07:19:18 +0000 Subject: [PATCH] IDE: Call ReAlignButtons only for the active page at the end of UpdateNoteBookButtons. git-svn-id: trunk@47115 - --- ide/componentpalette.pas | 18 +++++++----------- ide/main.pp | 4 +--- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/ide/componentpalette.pas b/ide/componentpalette.pas index 8432dc0598..1ce600931f 100644 --- a/ide/componentpalette.pas +++ b/ide/componentpalette.pas @@ -156,7 +156,7 @@ type procedure Clear; procedure ClearButtons; procedure DoAfterComponentAdded; override; - procedure ReAlignButtons(aSheet: TCustomPage = Nil); + procedure ReAlignButtons(aSheet: TCustomPage); procedure UpdateNoteBookButtons; procedure OnGetNonVisualCompIcon(Sender: TObject; AComponent: TComponent; var Icon: TCustomBitmap); @@ -835,17 +835,13 @@ var Node: TAVLTreeNode; ScrollBox: TScrollBox; begin - if (FPageControl<>nil) and (aSheet=Nil) then - aSheet:=FPageControl.ActivePage; // Use ActivePage if nothing was given. if (aSheet=Nil) or not aSheet.Visible then exit; {$IFDEF VerboseComponentPalette} - //if aSheet.Caption = CompPalVerbPgName then - DebugLn(['TComponentPalette.ReAlignButtons Visible="',aSheet.Caption,'", ClientWidth=',aSheet.ClientWidth]); + DebugLn(['TComponentPalette.ReAlignButtons Visible="',aSheet.Caption,'", ClientWidth=',aSheet.ClientWidth]); {$ENDIF} - if FPageControl<>nil then begin + if FPageControl<>nil then fPageControl.DisableAutoSizing{$IFDEF DebugDisableAutoSizing}('TComponentPalette.ReAlignButtons'){$ENDIF}; - end; ButtonTree:=nil; try if (aSheet.ComponentCount=0) or not (aSheet.Components[0] is TScrollBox) then @@ -1122,10 +1118,6 @@ begin Comp := FindComponent(aCompNames[i]) as TPkgComponent; CreateOrDelButton(Comp, Format('%d_%d_',[aPageIndex,i]), ScrollBox); end; - {$IFDEF VerboseComponentPalette} - DebugLn('TComponentPalette.CreateButtons Calling ReAlignButtons'); - {$ENDIF} - ReAlignButtons(Pg.PageComponent); end; procedure TComponentPalette.UpdateNoteBookButtons; @@ -1176,6 +1168,10 @@ begin end else if FPageControl.PageCount>0 then FPageControl.PageIndex:=0; + {$IFDEF VerboseComponentPalette} + DebugLn('TComponentPalette.UpdateNoteBookButtons Calling ReAlignButtons'); + {$ENDIF} + ReAlignButtons(FPageControl.ActivePage); // Align only the active page. finally // unlock fUpdatingPageControl:=false; diff --git a/ide/main.pp b/ide/main.pp index d8d2246f21..9162ae7944 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -4758,10 +4758,8 @@ begin IDEOptionsDialog.WriteAll(false); // Update component palette only when needed. PaletteOpt := TCompPaletteOptionsFrame(IDEOptionsDialog.FindEditor(TCompPaletteOptionsFrame)); - if Assigned(PaletteOpt) and PaletteOpt.ConfigChanged then begin + if Assigned(PaletteOpt) and PaletteOpt.ConfigChanged then IDEComponentPalette.Update; - TComponentPalette(IDEComponentPalette).ReAlignButtons; - end; // Update TaskBarBehavior immediately. if EnvironmentOptions.SingleTaskBarButton then Application.TaskBarBehavior := tbSingleButton