[gnome-shell/gbsneto/pagination: 1/8] appDisplay: Add items in order
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/pagination: 1/8] appDisplay: Add items in order
- Date: Thu, 18 Jun 2020 13:55:01 +0000 (UTC)
commit 6ba29130757f96e298d192ac83c91e89b4e7eda1
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Tue May 19 21:31:45 2020 -0300
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
js/ui/appDisplay.js | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 54237fa882..f50d9158cb 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -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);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]