From 0a8aeebd301f3ffe561651511059a1e17c49d0f6 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 1 Jan 2021 13:39:07 -0300 Subject: [PATCH] overview: Reorganize animateTo/FromOverview() Instead of directly accessing ViewSelector and calling these methods there, cascade the calls to OverviewActor, ControlsManager, and finally ViewSelector. Also move the opacity transition to OverviewActor. This commit has no functional change. Part-of: --- js/ui/overview.js | 48 +++++++++++++++++++++++++-------------- js/ui/overviewControls.js | 8 +++++++ 2 files changed, 39 insertions(+), 17 deletions(-) diff --git a/js/ui/overview.js b/js/ui/overview.js index e29868022..aabc4ec07 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -97,6 +97,35 @@ class OverviewActor extends St.BoxLayout { this.add_child(this._controls); } + animateToOverview(callback) { + this._controls.animateToOverview(); + + this.opacity = 0; + this.ease({ + opacity: 255, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + duration: ANIMATION_TIME, + onStopped: () => { + if (callback) + callback(); + }, + }); + } + + animateFromOverview(callback) { + this._controls.animateFromOverview(); + + this.ease({ + opacity: 0, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + duration: ANIMATION_TIME, + onStopped: () => { + if (callback) + callback(); + }, + }); + } + get dash() { return this._controls.dash; } @@ -492,15 +521,8 @@ var Overview = class { this._activationTime = GLib.get_monotonic_time() / GLib.USEC_PER_SEC; Meta.disable_unredirect_for_display(global.display); - this.viewSelector.animateToOverview(); - this._overview.opacity = 0; - this._overview.ease({ - opacity: 255, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - duration: ANIMATION_TIME, - onComplete: () => this._showDone(), - }); + this._overview.animateToOverview(() => this._showDone()); Main.layoutManager.overviewGroup.set_child_above_sibling( this._coverPane, null); @@ -555,15 +577,7 @@ var Overview = class { this._animationInProgress = true; this._visibleTarget = false; - this.viewSelector.animateFromOverview(); - - // Make other elements fade out. - this._overview.ease({ - opacity: 0, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - duration: ANIMATION_TIME, - onComplete: () => this._hideDone(), - }); + this._overview.animateFromOverview(() => this._hideDone()); Main.layoutManager.overviewGroup.set_child_above_sibling( this._coverPane, null); diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js index 9059d34e9..e7c62d3c9 100644 --- a/js/ui/overviewControls.js +++ b/js/ui/overviewControls.js @@ -172,6 +172,14 @@ class ControlsManager extends St.Widget { this._workspaceAdjustment.value = activeIndex; } + animateToOverview() { + this.viewSelector.animateToOverview(); + } + + animateFromOverview() { + this.viewSelector.animateFromOverview(); + } + get searchEntry() { return this._searchEntry; }