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); this.add_child(this._controls);
} }
animateToOverview(callback) { animateToOverview(state, callback) {
this._controls.animateToOverview(callback); this._controls.animateToOverview(state, callback);
} }
animateFromOverview(callback) { animateFromOverview(callback) {
@ -482,7 +482,10 @@ var Overview = class {
// show: // show:
// //
// Animates the overview visible and grabs mouse and keyboard input // 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) if (this.isDummy)
return; return;
if (this._shown) if (this._shown)
@ -493,11 +496,11 @@ var Overview = class {
return; return;
Main.layoutManager.showOverview(); Main.layoutManager.showOverview();
this._animateVisible(); this._animateVisible(state);
} }
_animateVisible() { _animateVisible(state) {
if (this._visible || this._animationInProgress) if (this._visible || this._animationInProgress)
return; return;
@ -508,7 +511,7 @@ var Overview = class {
Meta.disable_unredirect_for_display(global.display); 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( Main.layoutManager.overviewGroup.set_child_above_sibling(
this._coverPane, null); this._coverPane, null);

View File

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