mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
appDisplay: Add items in order
Add app icons to the exact page and position they're located instead of always appending. This will be useful later when custom icon positions are in place. For now, it assumes pages are always filled, which is true, but this will also change with custom icon positions. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1271
This commit is contained in:
parent
75c4e1cd63
commit
6ba2913075
1 changed files with 11 additions and 2 deletions
|
|
@ -159,12 +159,16 @@ var BaseAppView = GObject.registerClass({
|
|||
});
|
||||
|
||||
// Add new app icons
|
||||
const { itemsPerPage } = this._grid;
|
||||
addedApps.forEach(icon => {
|
||||
let iconIndex = newApps.indexOf(icon);
|
||||
|
||||
this._orderedItems.splice(iconIndex, 0, icon);
|
||||
this._grid.addItem(icon);
|
||||
this._items.set(icon.id, icon);
|
||||
|
||||
const page = Math.floor(iconIndex / itemsPerPage);
|
||||
const position = iconIndex % itemsPerPage;
|
||||
this._grid.addItem(icon, page, position);
|
||||
});
|
||||
|
||||
this._viewIsReady = true;
|
||||
|
|
@ -445,7 +449,12 @@ class AppDisplay extends BaseAppView {
|
|||
let newIdx = Util.insertSorted(this._orderedItems, item, this._compareItems);
|
||||
|
||||
this._grid.removeItem(item);
|
||||
this._grid.addItem(item, -1, newIdx);
|
||||
|
||||
const { itemsPerPage } = this._grid;
|
||||
const page = Math.floor(newIdx / itemsPerPage);
|
||||
const position = newIdx % itemsPerPage;
|
||||
this._grid.addItem(item, page, position);
|
||||
|
||||
this.selectApp(item.id);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue