mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-25 23:59:20 +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,
|
procedure TToolBar.CalculatePreferredSize(var PreferredWidth,
|
||||||
PreferredHeight: integer; WithThemeSpace: Boolean);
|
PreferredHeight: integer; WithThemeSpace: Boolean);
|
||||||
var
|
var
|
||||||
NewWidth: Integer;
|
AWidth: Integer;
|
||||||
NewHeight: Integer;
|
NewWidth, NewHeight: Integer;
|
||||||
FixedWidth: Boolean;
|
|
||||||
begin
|
begin
|
||||||
NewWidth:=0;
|
NewWidth:=0;
|
||||||
NewHeight:=0;
|
NewHeight:=0;
|
||||||
|
|
||||||
FixedWidth:=false;
|
|
||||||
if (Parent<>nil)
|
if (Parent<>nil)
|
||||||
and (not Parent.AutoSize)
|
and (not Parent.AutoSize)
|
||||||
and AnchorSideLeft.IsAnchoredToParent(akLeft)
|
and AnchorSideLeft.IsAnchoredToParent(akLeft)
|
||||||
and AnchorSideRight.IsAnchoredToParent(akRight) then begin
|
and AnchorSideRight.IsAnchoredToParent(akRight) then begin
|
||||||
// the width depends on the parent
|
// the width depends on the parent
|
||||||
// the width is fixed
|
// the width is fixed
|
||||||
FixedWidth:=true;
|
AWidth:=Constraints.MinMaxWidth(Width);
|
||||||
WrapButtons(Width, NewWidth, NewHeight, True);
|
end
|
||||||
PreferredWidth := NewWidth;
|
else begin
|
||||||
PreferredHeight := NewHeight;
|
AWidth:=Constraints.MinMaxWidth(Screen.Width);
|
||||||
//DebugLn(['TToolBar.CalculatePreferredSize fixed width: ',PreferredWidth,'x',PreferredHeight]);
|
|
||||||
end;
|
|
||||||
if not FixedWidth then begin
|
|
||||||
WrapButtons(Screen.Width,NewWidth,NewHeight,true);
|
|
||||||
PreferredWidth := NewWidth;
|
|
||||||
PreferredHeight := NewHeight;
|
|
||||||
end;
|
end;
|
||||||
|
WrapButtons(AWidth,NewWidth,NewHeight,true);
|
||||||
|
PreferredWidth := NewWidth;
|
||||||
|
PreferredHeight := NewHeight;
|
||||||
//DebugLn(['TToolBar.CalculatePreferredSize ',DbgSName(Self),' ',PreferredWidth,'x',PreferredHeight,' Count=',ControlCount]);
|
//DebugLn(['TToolBar.CalculatePreferredSize ',DbgSName(Self),' ',PreferredWidth,'x',PreferredHeight,' Count=',ControlCount]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user