appDisplay/baseAppView: Update page indicators on page-changed
The number of pages doesn't depend on the allocated size anymore. Move updating page indicators from BaseAppView.adaptToSize() to a IconGrid::pages-changed callback. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1518>
This commit is contained in:
parent
b120b17d01
commit
10d91b52e7
@ -138,6 +138,12 @@ var BaseAppView = GObject.registerClass({
|
|||||||
this._grid._delegate = this;
|
this._grid._delegate = this;
|
||||||
// Standard hack for ClutterBinLayout
|
// Standard hack for ClutterBinLayout
|
||||||
this._grid.x_expand = true;
|
this._grid.x_expand = true;
|
||||||
|
this._grid.connect('pages-changed', () => {
|
||||||
|
this._adjustment.value = 0;
|
||||||
|
this.goToPage(this._grid.currentPage);
|
||||||
|
this._pageIndicators.setNPages(this._grid.nPages);
|
||||||
|
this._pageIndicators.setCurrentPosition(this._grid.currentPage);
|
||||||
|
});
|
||||||
|
|
||||||
const vertical = orientation === Clutter.Orientation.VERTICAL;
|
const vertical = orientation === Clutter.Orientation.VERTICAL;
|
||||||
|
|
||||||
@ -850,18 +856,6 @@ var BaseAppView = GObject.registerClass({
|
|||||||
|
|
||||||
this._grid.adaptToSize(availWidth, availHeight);
|
this._grid.adaptToSize(availWidth, availHeight);
|
||||||
|
|
||||||
if (this._availWidth !== availWidth ||
|
|
||||||
this._availHeight !== availHeight ||
|
|
||||||
this._pageIndicators.nPages !== this._grid.nPages) {
|
|
||||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
|
|
||||||
this._adjustment.value = 0;
|
|
||||||
this.goToPage(this._grid.currentPage);
|
|
||||||
this._pageIndicators.setNPages(this._grid.nPages);
|
|
||||||
this._pageIndicators.setCurrentPosition(this._grid.currentPage);
|
|
||||||
return GLib.SOURCE_REMOVE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
this._availWidth = availWidth;
|
this._availWidth = availWidth;
|
||||||
this._availHeight = availHeight;
|
this._availHeight = availHeight;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user