[gnome-shell/gbsneto/custom-icon-positions: 10/18] appDisplay: Ensure icons always are at the correct position



commit 18179048ef1e702fb24053e1b7a3f62227f03f0d
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Tue Jun 23 12:18:56 2020 -0300

    appDisplay: Ensure icons always are at the correct position
    
    When redisplaying, we currently only remove and add icons, but
    never adjust the position of already added icons. If the icon
    position changed, it wouldn't be reflected on the icon grid.
    
    Make sure to move already added icons.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284

 js/ui/appDisplay.js | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 44dc33f8f6..110849a491 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -333,10 +333,13 @@ var BaseAppView = GObject.registerClass({
             icon.destroy();
         });
 
-        // Add new app icons
-        addedApps.forEach(icon => {
-            const [page, position] = this._getItemPosition(icon, newApps);
-            this._addItem(icon, page, position);
+        // Add new app icons, or move existing ones
+        newApps.forEach(icon => {
+            const [page, position] = this._getItemPosition(icon);
+            if (addedApps.includes(icon))
+                this._addItem(icon, page, position);
+            else if (page !== -1 && position !== -1)
+                this.moveItem(icon, page, position);
         });
 
         this._viewIsReady = true;


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