appDisplay: Don't resort folders when name changes
With a customizable app grid, we don't want folders to move after renaming. Their position is fixed. Remove the sort-after-rename code from AppDisplay. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284
This commit is contained in:
parent
f4ce1cf462
commit
783dbe2aa9
@ -16,7 +16,6 @@ const PopupMenu = imports.ui.popupMenu;
|
|||||||
const Search = imports.ui.search;
|
const Search = imports.ui.search;
|
||||||
const SwipeTracker = imports.ui.swipeTracker;
|
const SwipeTracker = imports.ui.swipeTracker;
|
||||||
const Params = imports.misc.params;
|
const Params = imports.misc.params;
|
||||||
const Util = imports.misc.util;
|
|
||||||
const SystemActions = imports.misc.systemActions;
|
const SystemActions = imports.misc.systemActions;
|
||||||
|
|
||||||
var MENU_POPUP_TIMEOUT = 600;
|
var MENU_POPUP_TIMEOUT = 600;
|
||||||
@ -755,23 +754,6 @@ class AppDisplay extends BaseAppView {
|
|||||||
this._pageManager.pages = pages;
|
this._pageManager.pages = pages;
|
||||||
}
|
}
|
||||||
|
|
||||||
_itemNameChanged(item) {
|
|
||||||
// If an item's name changed, we can pluck it out of where it's
|
|
||||||
// supposed to be and reinsert it where it's sorted.
|
|
||||||
let oldIdx = this._orderedItems.indexOf(item);
|
|
||||||
this._orderedItems.splice(oldIdx, 1);
|
|
||||||
let newIdx = Util.insertSorted(this._orderedItems, item, this._compareItems.bind(this));
|
|
||||||
|
|
||||||
this._grid.removeItem(item);
|
|
||||||
|
|
||||||
const { itemsPerPage } = this._grid;
|
|
||||||
const page = Math.floor(newIdx / itemsPerPage);
|
|
||||||
const position = newIdx % itemsPerPage;
|
|
||||||
this._grid.addItem(item, page, position);
|
|
||||||
|
|
||||||
this.selectApp(item.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
getAppInfos() {
|
getAppInfos() {
|
||||||
return this._appInfoList;
|
return this._appInfoList;
|
||||||
}
|
}
|
||||||
@ -821,7 +803,6 @@ class AppDisplay extends BaseAppView {
|
|||||||
let icon = this._items.get(id);
|
let icon = this._items.get(id);
|
||||||
if (!icon) {
|
if (!icon) {
|
||||||
icon = new FolderIcon(id, path, this);
|
icon = new FolderIcon(id, path, this);
|
||||||
icon.connect('name-changed', this._itemNameChanged.bind(this));
|
|
||||||
icon.connect('apps-changed', this._redisplay.bind(this));
|
icon.connect('apps-changed', this._redisplay.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1595,7 +1576,6 @@ class FolderView extends BaseAppView {
|
|||||||
var FolderIcon = GObject.registerClass({
|
var FolderIcon = GObject.registerClass({
|
||||||
Signals: {
|
Signals: {
|
||||||
'apps-changed': {},
|
'apps-changed': {},
|
||||||
'name-changed': {},
|
|
||||||
},
|
},
|
||||||
}, class FolderIcon extends AppViewItem {
|
}, class FolderIcon extends AppViewItem {
|
||||||
_init(id, path, parentView) {
|
_init(id, path, parentView) {
|
||||||
@ -1729,7 +1709,6 @@ var FolderIcon = GObject.registerClass({
|
|||||||
|
|
||||||
this._name = name;
|
this._name = name;
|
||||||
this.icon.label.text = this.name;
|
this.icon.label.text = this.name;
|
||||||
this.emit('name-changed');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_sync() {
|
_sync() {
|
||||||
|
Loading…
Reference in New Issue
Block a user