[gnome-shell/gbsneto/multiline-on-hover: 2/4] iconGrid: Allocate preferred sizes if bigger than child size
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/multiline-on-hover: 2/4] iconGrid: Allocate preferred sizes if bigger than child size
- Date: Wed, 21 Oct 2020 21:10:12 +0000 (UTC)
commit c192f5a454bfee31d1e477eb0943eb06f13fa588
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Wed Oct 21 15:40:20 2020 -0300
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
js/ui/iconGrid.js | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js
index d778988221..206b8ca7c9 100644
--- a/js/ui/iconGrid.js
+++ b/js/ui/iconGrid.js
@@ -765,7 +765,6 @@ var IconGridLayout = GObject.registerClass({
this._calculateSpacing(childSize);
const childBox = new Clutter.ActorBox();
- childBox.set_size(childSize, childSize);
let nChangedIcons = 0;
@@ -802,6 +801,10 @@ var IconGridLayout = GObject.registerClass({
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
if (this._pageSizeChanged)
item.allocate(childBox);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]