appDisplay: Use icon grid size as distance passed to SwipeTracker
The swipeTracker wants the distance between two pages passed to it in confirmSwipe(). In case of the app grid, the correct distance is not the size of the scrollView (which has the width of the whole screen), but instead the allocation size of the iconGrid (which is the actual size of a page in the grid). So pass the allocation size of the iconGrid to the swipeTracker, this makes sure the pages move perfectly in sync with the pointer when dragging using the mouse or touchscreen. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2275>
This commit is contained in:
parent
d546cb0139
commit
851a1e30fa
@ -523,7 +523,7 @@ var BaseAppView = GObject.registerClass({
|
|||||||
const progress = adjustment.value / adjustment.page_size;
|
const progress = adjustment.value / adjustment.page_size;
|
||||||
const points = Array.from({ length: this._grid.nPages }, (v, i) => i);
|
const points = Array.from({ length: this._grid.nPages }, (v, i) => i);
|
||||||
const size = tracker.orientation === Clutter.Orientation.VERTICAL
|
const size = tracker.orientation === Clutter.Orientation.VERTICAL
|
||||||
? this._scrollView.height : this._scrollView.width;
|
? this._grid.allocation.get_height() : this._grid.allocation.get_width();
|
||||||
|
|
||||||
tracker.confirmSwipe(size, points, progress, Math.round(progress));
|
tracker.confirmSwipe(size, points, progress, Math.round(progress));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user