iconGrid: Allocate preferred sizes if bigger than child size
IconGridLayout uses the biggest minimum size to allocate its children. Next commit will make app icons with long names show not ellipsize on hover, and it is important that the icon itself is able to follow that. Use preferred size if it's bigger than the minimum size. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1477
This commit is contained in:
parent
b3659221bd
commit
4fcbf6c974
@ -765,7 +765,6 @@ var IconGridLayout = GObject.registerClass({
|
|||||||
this._calculateSpacing(childSize);
|
this._calculateSpacing(childSize);
|
||||||
|
|
||||||
const childBox = new Clutter.ActorBox();
|
const childBox = new Clutter.ActorBox();
|
||||||
childBox.set_size(childSize, childSize);
|
|
||||||
|
|
||||||
let nChangedIcons = 0;
|
let nChangedIcons = 0;
|
||||||
|
|
||||||
@ -802,6 +801,11 @@ var IconGridLayout = GObject.registerClass({
|
|||||||
|
|
||||||
childBox.set_origin(x, y);
|
childBox.set_origin(x, y);
|
||||||
|
|
||||||
|
const [,, naturalWidth, naturalHeight] = item.get_preferred_size();
|
||||||
|
childBox.set_size(
|
||||||
|
Math.max(childSize, naturalWidth),
|
||||||
|
Math.max(childSize, naturalHeight));
|
||||||
|
|
||||||
// Only ease icons when the page size didn't change
|
// Only ease icons when the page size didn't change
|
||||||
if (this._pageSizeChanged)
|
if (this._pageSizeChanged)
|
||||||
item.allocate(childBox);
|
item.allocate(childBox);
|
||||||
|
Loading…
Reference in New Issue
Block a user