appDisplay: Mostly remove adaptToSize
Back in the day, adaptToSize() contained mad maths to figure out icon sizes. Over time, its scope was reduced, to the point where we are today where it mostly just redoes some quick maths to predict the grid size based on the CSS box model. Remove adaptToSize() from BaseAppView and child classes. It still is an internal detail of the IconGrid class, but it's not exposed as a "public" method anymore. This removal is not perfect, as it doesn't move or compensate for any of page indicators and arrows code. This will be done in follow up commits introducing a new layout manager for that. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2335>
This commit is contained in:
parent
5ba699e095
commit
083a691a74
@ -918,15 +918,6 @@ var BaseAppView = GObject.registerClass({
|
|||||||
this._grid.moveItem(item, newPage, newPosition);
|
this._grid.moveItem(item, newPage, newPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
vfunc_allocate(box) {
|
|
||||||
const width = box.get_width();
|
|
||||||
const height = box.get_height();
|
|
||||||
|
|
||||||
this.adaptToSize(width, height);
|
|
||||||
|
|
||||||
super.vfunc_allocate(box);
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_map() {
|
vfunc_map() {
|
||||||
this._swipeTracker.enabled = true;
|
this._swipeTracker.enabled = true;
|
||||||
this._connectDnD();
|
this._connectDnD();
|
||||||
@ -1011,27 +1002,6 @@ var BaseAppView = GObject.registerClass({
|
|||||||
this._grid.goToPage(pageNumber, animate);
|
this._grid.goToPage(pageNumber, animate);
|
||||||
}
|
}
|
||||||
|
|
||||||
adaptToSize(width, height) {
|
|
||||||
let box = new Clutter.ActorBox({
|
|
||||||
x2: width,
|
|
||||||
y2: height,
|
|
||||||
});
|
|
||||||
box = this.get_theme_node().get_content_box(box);
|
|
||||||
box = this._scrollView.get_theme_node().get_content_box(box);
|
|
||||||
box = this._grid.get_theme_node().get_content_box(box);
|
|
||||||
|
|
||||||
const availWidth = box.get_width();
|
|
||||||
const availHeight = box.get_height();
|
|
||||||
|
|
||||||
this._grid.adaptToSize(availWidth, availHeight);
|
|
||||||
|
|
||||||
const leftPadding = Math.floor(
|
|
||||||
(availWidth - this._grid.layout_manager.pageWidth) / 2);
|
|
||||||
this._pageIndicatorOffset = leftPadding;
|
|
||||||
this._pageArrowOffset = Math.max(
|
|
||||||
leftPadding - PAGE_PREVIEW_MAX_ARROW_OFFSET, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
_getIndicatorOffset(page, progress, baseOffset) {
|
_getIndicatorOffset(page, progress, baseOffset) {
|
||||||
const rtl = this.get_text_direction() === Clutter.TextDirection.RTL;
|
const rtl = this.get_text_direction() === Clutter.TextDirection.RTL;
|
||||||
const translationX =
|
const translationX =
|
||||||
@ -1311,14 +1281,6 @@ class AppDisplay extends BaseAppView {
|
|||||||
super._redisplay();
|
super._redisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
adaptToSize(width, height) {
|
|
||||||
const [, indicatorHeight] = this._pageIndicators.get_preferred_height(-1);
|
|
||||||
height -= indicatorHeight;
|
|
||||||
|
|
||||||
this._grid.findBestModeForSize(width, height);
|
|
||||||
super.adaptToSize(width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
_savePages() {
|
_savePages() {
|
||||||
const pages = [];
|
const pages = [];
|
||||||
|
|
||||||
@ -2013,10 +1975,6 @@ class FolderGrid extends IconGrid.IconGrid {
|
|||||||
page_valign: Clutter.ActorAlign.CENTER,
|
page_valign: Clutter.ActorAlign.CENTER,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
adaptToSize(width, height) {
|
|
||||||
this.layout_manager.adaptToSize(width, height);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var FolderView = GObject.registerClass(
|
var FolderView = GObject.registerClass(
|
||||||
@ -2149,13 +2107,6 @@ class FolderView extends BaseAppView {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
adaptToSize(width, height) {
|
|
||||||
const [, indicatorHeight] = this._pageIndicators.get_preferred_height(-1);
|
|
||||||
height -= indicatorHeight;
|
|
||||||
|
|
||||||
super.adaptToSize(width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
_loadApps() {
|
_loadApps() {
|
||||||
let apps = [];
|
let apps = [];
|
||||||
let appSys = Shell.AppSystem.get_default();
|
let appSys = Shell.AppSystem.get_default();
|
||||||
|
@ -1207,6 +1207,11 @@ var IconGrid = GObject.registerClass({
|
|||||||
delete child._iconGridKeyFocusInId;
|
delete child._iconGridKeyFocusInId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vfunc_allocate(box) {
|
||||||
|
this.layout_manager.adaptToSize(...box.get_size());
|
||||||
|
super.vfunc_allocate(box);
|
||||||
|
}
|
||||||
|
|
||||||
vfunc_style_changed() {
|
vfunc_style_changed() {
|
||||||
super.vfunc_style_changed();
|
super.vfunc_style_changed();
|
||||||
|
|
||||||
@ -1391,10 +1396,6 @@ var IconGrid = GObject.registerClass({
|
|||||||
return this.layout_manager.nPages;
|
return this.layout_manager.nPages;
|
||||||
}
|
}
|
||||||
|
|
||||||
adaptToSize(width, height) {
|
|
||||||
this.layout_manager.adaptToSize(width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
setGridModes(modes) {
|
setGridModes(modes) {
|
||||||
this._gridModes = modes ? modes : defaultGridModes;
|
this._gridModes = modes ? modes : defaultGridModes;
|
||||||
this.queue_relayout();
|
this.queue_relayout();
|
||||||
|
Loading…
Reference in New Issue
Block a user