appDisplay: Make the app grid horizontal
Horizontal pagination is more natural than vertical, but for historical reasons we ended up with a vertically paginated app grid. Make the app grid horizontal. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1554>
This commit is contained in:
parent
b3d57dc4bd
commit
be279abe9e
@ -126,7 +126,7 @@ var BaseAppView = GObject.registerClass({
|
|||||||
'view-loaded': {},
|
'view-loaded': {},
|
||||||
},
|
},
|
||||||
}, class BaseAppView extends St.Widget {
|
}, class BaseAppView extends St.Widget {
|
||||||
_init(params = {}, orientation = Clutter.Orientation.VERTICAL) {
|
_init(params = {}, orientation = Clutter.Orientation.HORIZONTAL) {
|
||||||
params = Params.parse(params, { animateIndicators: true }, true);
|
params = Params.parse(params, { animateIndicators: true }, true);
|
||||||
|
|
||||||
const animateIndicators = params.animateIndicators;
|
const animateIndicators = params.animateIndicators;
|
||||||
@ -969,9 +969,15 @@ class AppDisplay extends BaseAppView {
|
|||||||
y_expand: true,
|
y_expand: true,
|
||||||
});
|
});
|
||||||
this.add_actor(this._stack);
|
this.add_actor(this._stack);
|
||||||
this._stack.add_actor(this._scrollView);
|
|
||||||
|
|
||||||
this.add_actor(this._pageIndicators);
|
const box = new St.BoxLayout({
|
||||||
|
x_expand: true,
|
||||||
|
y_expand: true,
|
||||||
|
vertical: true,
|
||||||
|
});
|
||||||
|
this._stack.add_child(box);
|
||||||
|
box.add_child(this._scrollView);
|
||||||
|
box.add_child(this._pageIndicators);
|
||||||
|
|
||||||
this._folderIcons = [];
|
this._folderIcons = [];
|
||||||
|
|
||||||
@ -1042,6 +1048,13 @@ class AppDisplay extends BaseAppView {
|
|||||||
super._redisplay();
|
super._redisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
adaptToSize(width, height) {
|
||||||
|
const [, indicatorHeight] = this._pageIndicators.get_preferred_height(-1);
|
||||||
|
height -= indicatorHeight;
|
||||||
|
|
||||||
|
super.adaptToSize(width, height);
|
||||||
|
}
|
||||||
|
|
||||||
_savePages() {
|
_savePages() {
|
||||||
const pages = [];
|
const pages = [];
|
||||||
|
|
||||||
@ -1693,7 +1706,6 @@ class FolderGrid extends IconGrid.IconGrid {
|
|||||||
_init() {
|
_init() {
|
||||||
super._init({
|
super._init({
|
||||||
allow_incomplete_pages: false,
|
allow_incomplete_pages: false,
|
||||||
orientation: Clutter.Orientation.HORIZONTAL,
|
|
||||||
columns_per_page: 3,
|
columns_per_page: 3,
|
||||||
rows_per_page: 3,
|
rows_per_page: 3,
|
||||||
page_halign: Clutter.ActorAlign.CENTER,
|
page_halign: Clutter.ActorAlign.CENTER,
|
||||||
@ -1714,11 +1726,12 @@ class FolderView extends BaseAppView {
|
|||||||
x_expand: true,
|
x_expand: true,
|
||||||
y_expand: true,
|
y_expand: true,
|
||||||
animateIndicators: false,
|
animateIndicators: false,
|
||||||
}, Clutter.Orientation.HORIZONTAL);
|
});
|
||||||
|
|
||||||
// If it not expand, the parent doesn't take into account its preferred_width when allocating
|
// If it not expand, the parent doesn't take into account its preferred_width when allocating
|
||||||
// the second time it allocates, so we apply the "Standard hack for ClutterBinLayout"
|
// the second time it allocates, so we apply the "Standard hack for ClutterBinLayout"
|
||||||
this._grid.x_expand = true;
|
this._grid.x_expand = true;
|
||||||
|
this._pageIndicators.y_expand = false;
|
||||||
this._id = id;
|
this._id = id;
|
||||||
this._folder = folder;
|
this._folder = folder;
|
||||||
this._parentView = parentView;
|
this._parentView = parentView;
|
||||||
|
@ -1334,7 +1334,7 @@ var IconGrid = GObject.registerClass({
|
|||||||
_init(layoutParams = {}) {
|
_init(layoutParams = {}) {
|
||||||
layoutParams = Params.parse(layoutParams, {
|
layoutParams = Params.parse(layoutParams, {
|
||||||
allow_incomplete_pages: false,
|
allow_incomplete_pages: false,
|
||||||
orientation: Clutter.Orientation.VERTICAL,
|
orientation: Clutter.Orientation.HORIZONTAL,
|
||||||
columns_per_page: 6,
|
columns_per_page: 6,
|
||||||
rows_per_page: 4,
|
rows_per_page: 4,
|
||||||
page_halign: Clutter.ActorAlign.FILL,
|
page_halign: Clutter.ActorAlign.FILL,
|
||||||
|
Loading…
Reference in New Issue
Block a user