[gnome-shell] appDisplay/baseAppView: Update page indicators on page-changed



commit 10d91b52e7c3c046e6f4a16848239c80696b8dfc
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Wed Dec 2 15:58:49 2020 -0300

    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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>

 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 71aee7bc3b..1fd088ebf0 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;
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]