dash: Fix drag placeholder position in RTL

The position corresponds to a child index, which means it must
be mirrored when starting to count from the right.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4574

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2219>
This commit is contained in:
Florian Müllner 2022-02-26 18:35:47 +01:00 committed by Marge Bot
parent dc075bddae
commit 4735193456

View File

@ -883,10 +883,12 @@ var Dash = GObject.registerClass({
}
let pos;
if (!this._emptyDropTarget)
pos = Math.floor(x * numChildren / boxWidth);
if (this._emptyDropTarget)
pos = 0; // always insert at the start when dash is empty
else if (this.text_direction === Clutter.TextDirection.RTL)
pos = numChildren - Math.floor(x * numChildren / boxWidth);
else
pos = 0; // always insert at the top when dash is empty
pos = Math.floor(x * numChildren / boxWidth);
// Put the placeholder after the last favorite if we are not
// in the favorites zone