appDisplay/baseAppView: Reinstate fade effect

Bring back the fade effect that was dropped by commit 4e05bcd3b6.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1519>
This commit is contained in:
Georges Basile Stavracas Neto 2020-12-03 14:16:16 -03:00
parent 9c10c34b07
commit aca61ad3ee

View File

@ -167,6 +167,7 @@ var BaseAppView = GObject.registerClass({
const scroll = vertical ? this._scrollView.vscroll : this._scrollView.hscroll; const scroll = vertical ? this._scrollView.vscroll : this._scrollView.hscroll;
this._adjustment = scroll.adjustment; this._adjustment = scroll.adjustment;
this._adjustment.connect('notify::value', adj => { this._adjustment.connect('notify::value', adj => {
this._updateFade();
this._pageIndicators.setCurrentPosition(adj.value / adj.page_size); this._pageIndicators.setCurrentPosition(adj.value / adj.page_size);
}); });
@ -238,6 +239,31 @@ var BaseAppView = GObject.registerClass({
this._disconnectDnD(); this._disconnectDnD();
} }
_updateFade() {
const { pagePadding } = this._grid.layout_manager;
if (pagePadding.top === 0 &&
pagePadding.right === 0 &&
pagePadding.bottom === 0 &&
pagePadding.left === 0)
return;
let hOffset = 0;
let vOffset = 0;
if ((this._adjustment.value % this._adjustment.page_size) !== 0.0) {
const vertical = this._orientation === Clutter.Orientation.VERTICAL;
hOffset = vertical ? 0 : Math.max(pagePadding.left, pagePadding.right);
vOffset = vertical ? Math.max(pagePadding.top, pagePadding.bottom) : 0;
if (hOffset === 0 && vOffset === 0)
return;
}
this._scrollView.update_fade_effect(vOffset, hOffset);
}
_createGrid() { _createGrid() {
return new IconGrid.IconGrid({ allow_incomplete_pages: true }); return new IconGrid.IconGrid({ allow_incomplete_pages: true });
} }