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 ce78e8ae54
commit 48a2b6cb0b
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();
}
};