[gnome-shell/gbsneto/custom-icon-positions: 6/18] appDisplay: Create app folder where the drop happened
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/custom-icon-positions: 6/18] appDisplay: Create app folder where the drop happened
- Date: Thu, 9 Jul 2020 20:57:46 +0000 (UTC)
commit 07f9f05d5ac47523f5dee4713a93449d0756df65
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Tue May 26 22:29:29 2020 -0300
appDisplay: Create app folder where the drop happened
Create the app folder where the icon we drop at is located. This
ensures the folder icon doesn't go into the last page, hidden and
solitary.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284
js/ui/appDisplay.js | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index e06785caf3..8cd75c280a 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -1126,6 +1126,11 @@ class AppDisplay extends BaseAppView {
return false;
}
+ // The hovered AppIcon always passes its own id as the first
+ // one, and this is where we want the folder to be created
+ const [folderPage, folderPosition] =
+ this._grid.getItemPosition(this._items.get(apps[0]));
+
let appItems = apps.map(id => this._items.get(id).app);
let folderName = _findBestFolderName(appItems);
if (!folderName)
@@ -1136,7 +1141,12 @@ class AppDisplay extends BaseAppView {
newFolderSettings.set_strv('apps', apps);
newFolderSettings.apply();
- this.selectApp(newFolderId);
+ this._redisplay();
+
+ // Move the folder to where the icon target icon was
+ const folderItem = this._items.get(newFolderId);
+ this.moveItem(folderItem, folderPage, folderPosition);
+ this._savePages();
return true;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]