mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-07 18:58:04 +02:00
LCL, Toolbar: fix CalculatePreferredSize to honour constraints
This commit is contained in:
parent
924ce02d50
commit
d9a5787be8
@ -605,31 +605,26 @@ end;
|
||||
procedure TToolBar.CalculatePreferredSize(var PreferredWidth,
|
||||
PreferredHeight: integer; WithThemeSpace: Boolean);
|
||||
var
|
||||
NewWidth: Integer;
|
||||
NewHeight: Integer;
|
||||
FixedWidth: Boolean;
|
||||
AWidth: Integer;
|
||||
NewWidth, NewHeight: Integer;
|
||||
begin
|
||||
NewWidth:=0;
|
||||
NewHeight:=0;
|
||||
|
||||
FixedWidth:=false;
|
||||
if (Parent<>nil)
|
||||
and (not Parent.AutoSize)
|
||||
and AnchorSideLeft.IsAnchoredToParent(akLeft)
|
||||
and AnchorSideRight.IsAnchoredToParent(akRight) then begin
|
||||
// the width depends on the parent
|
||||
// the width is fixed
|
||||
FixedWidth:=true;
|
||||
WrapButtons(Width, NewWidth, NewHeight, True);
|
||||
PreferredWidth := NewWidth;
|
||||
PreferredHeight := NewHeight;
|
||||
//DebugLn(['TToolBar.CalculatePreferredSize fixed width: ',PreferredWidth,'x',PreferredHeight]);
|
||||
end;
|
||||
if not FixedWidth then begin
|
||||
WrapButtons(Screen.Width,NewWidth,NewHeight,true);
|
||||
PreferredWidth := NewWidth;
|
||||
PreferredHeight := NewHeight;
|
||||
AWidth:=Constraints.MinMaxWidth(Width);
|
||||
end
|
||||
else begin
|
||||
AWidth:=Constraints.MinMaxWidth(Screen.Width);
|
||||
end;
|
||||
WrapButtons(AWidth,NewWidth,NewHeight,true);
|
||||
PreferredWidth := NewWidth;
|
||||
PreferredHeight := NewHeight;
|
||||
//DebugLn(['TToolBar.CalculatePreferredSize ',DbgSName(Self),' ',PreferredWidth,'x',PreferredHeight,' Count=',ControlCount]);
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user