baseAppView: Call loadGrid() directly

Now that the three views follow the exact same loading routine
(remove all + load apps + load grid), we don't need each view
call loadGrid() directly anymore.

This is an important step in order to animate adding and removing
icons, since now we can diff old and new app icons properly.

Move all calls to BaseAppView.loadGrid() to a single one after
BaseAppView._loadApps(). Also add the underscore prefix, since
this is now considered a protected function.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/645
This commit is contained in:
Georges Basile Stavracas Neto 2019-06-29 13:22:08 -03:00
parent 8d9da10710
commit 3003e9091d
No known key found for this signature in database
GPG Key ID: 886C17EE170D1385

View File

@ -123,6 +123,7 @@ class BaseAppView {
_redisplay() {
this.removeAll();
this._loadApps();
this._loadGrid();
}
getAllItems() {
@ -146,7 +147,7 @@ class BaseAppView {
return a.name.localeCompare(b.name);
}
loadGrid() {
_loadGrid() {
this._allItems.sort(this._compareItems);
this._allItems.forEach(item => this._grid.addItem(item));
this.emit('view-loaded');
@ -417,8 +418,10 @@ var AllView = class AllView extends BaseAppView {
{ isDraggable: favoritesWritable });
this.addItem(icon);
});
}
this.loadGrid();
_loadGrid() {
super._loadGrid();
this._refilterApps();
}
@ -733,8 +736,6 @@ var FrequentView = class FrequentView extends BaseAppView {
{ isDraggable: favoritesWritable });
this.addItem(appIcon);
}
this.loadGrid();
}
// Called before allocation to calculate dynamic spacing
@ -1173,8 +1174,6 @@ var FolderView = class FolderView extends BaseAppView {
addAppId(appInfo.get_id());
});
this.loadGrid();
}
};