iconGrid/iconGrid: Hook page-padding with CSS

Add support for setting the page padding of the icon grid
through CSS. Unfortunately, each side needs to be specificied
manually, since it's not a regular padding property.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1510>
This commit is contained in:
Georges Basile Stavracas Neto 2020-11-25 18:42:03 -03:00 committed by Marge Bot
parent 5b6686095a
commit 4ad32ab662

View File

@ -1311,6 +1311,7 @@ var IconGrid = GObject.registerClass({
columns_per_page: 6, columns_per_page: 6,
rows_per_page: 4, rows_per_page: 4,
page_halign: Clutter.ActorAlign.CENTER, page_halign: Clutter.ActorAlign.CENTER,
page_padding: new Clutter.Margin(),
page_valign: Clutter.ActorAlign.CENTER, page_valign: Clutter.ActorAlign.CENTER,
last_row_align: Clutter.ActorAlign.START, last_row_align: Clutter.ActorAlign.START,
column_spacing: 0, column_spacing: 0,
@ -1442,6 +1443,12 @@ var IconGrid = GObject.registerClass({
[found, value] = node.lookup_length('max-row-spacing', false); [found, value] = node.lookup_length('max-row-spacing', false);
this.layout_manager.max_row_spacing = found ? value : -1; this.layout_manager.max_row_spacing = found ? value : -1;
const padding = new Clutter.Margin();
['top', 'right', 'bottom', 'left'].forEach(side => {
padding[side] = node.get_length(`page-padding-${side}`);
});
this.layout_manager.page_padding = padding;
} }
/** /**