overivew: Propagate target state when animating to overview

Next commits will requires ControlsManager to animate to different
states, depending on how Overview is called. Add a new 'state'
parameter to ControlsManager's, and OverviewActor's animateToOverview,
and Overview.show().

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1624>
This commit is contained in:
Georges Basile Stavracas Neto 2021-01-02 17:19:37 -03:00 committed by Marge Bot
parent bce67a27cc
commit 8089d7cbf7
2 changed files with 11 additions and 8 deletions

View File

@ -98,8 +98,8 @@ class OverviewActor extends St.BoxLayout {
this.add_child(this._controls);
}
animateToOverview(callback) {
this._controls.animateToOverview(callback);
animateToOverview(state, callback) {
this._controls.animateToOverview(state, callback);
}
animateFromOverview(callback) {
@ -482,7 +482,10 @@ var Overview = class {
// show:
//
// Animates the overview visible and grabs mouse and keyboard input
show() {
show(state = OverviewControls.ControlsState.WINDOW_PICKER) {
if (state === OverviewControls.ControlsState.HIDDEN)
throw new Error('Invalid state, use hide() to hide');
if (this.isDummy)
return;
if (this._shown)
@ -493,11 +496,11 @@ var Overview = class {
return;
Main.layoutManager.showOverview();
this._animateVisible();
this._animateVisible(state);
}
_animateVisible() {
_animateVisible(state) {
if (this._visible || this._animationInProgress)
return;
@ -508,7 +511,7 @@ var Overview = class {
Meta.disable_unredirect_for_display(global.display);
this._overview.animateToOverview(() => this._showDone());
this._overview.animateToOverview(state, () => this._showDone());
Main.layoutManager.overviewGroup.set_child_above_sibling(
this._coverPane, null);

View File

@ -177,11 +177,11 @@ class ControlsManager extends St.Widget {
this._workspaceAdjustment.value = activeIndex;
}
animateToOverview(callback) {
animateToOverview(state, callback) {
this.viewSelector.prepareToEnterOverview();
this._stateAdjustment.value = ControlsState.HIDDEN;
this._stateAdjustment.ease(ControlsState.WINDOW_PICKER, {
this._stateAdjustment.ease(state, {
duration: Overview.ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onStopped: () => {