From 10d91b52e7c3c046e6f4a16848239c80696b8dfc Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 2 Dec 2020 15:58:49 -0300 Subject: [PATCH] appDisplay/baseAppView: Update page indicators on page-changed The number of pages doesn't depend on the allocated size anymore. Move updating page indicators from BaseAppView.adaptToSize() to a IconGrid::pages-changed callback. Part-of: --- js/ui/appDisplay.js | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 71aee7bc3..1fd088ebf 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -138,6 +138,12 @@ var BaseAppView = GObject.registerClass({ this._grid._delegate = this; // Standard hack for ClutterBinLayout this._grid.x_expand = true; + this._grid.connect('pages-changed', () => { + this._adjustment.value = 0; + this.goToPage(this._grid.currentPage); + this._pageIndicators.setNPages(this._grid.nPages); + this._pageIndicators.setCurrentPosition(this._grid.currentPage); + }); const vertical = orientation === Clutter.Orientation.VERTICAL; @@ -850,18 +856,6 @@ var BaseAppView = GObject.registerClass({ this._grid.adaptToSize(availWidth, availHeight); - if (this._availWidth !== availWidth || - this._availHeight !== availHeight || - this._pageIndicators.nPages !== this._grid.nPages) { - Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => { - this._adjustment.value = 0; - this.goToPage(this._grid.currentPage); - this._pageIndicators.setNPages(this._grid.nPages); - this._pageIndicators.setCurrentPosition(this._grid.currentPage); - return GLib.SOURCE_REMOVE; - }); - } - this._availWidth = availWidth; this._availHeight = availHeight; }