From 278686dc4859eb8cfea6c5b1bc90046e2e7182ab Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Thu, 24 Jan 2013 01:35:19 -0500 Subject: [PATCH] viewSelector: don't crossfade between pages Instead, wait until the first animation is completed before switching to the second page. https://bugzilla.gnome.org/show_bug.cgi?id=693924 --- js/ui/viewSelector.js | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js index 47ffe6004..b40da6fd9 100644 --- a/js/ui/viewSelector.js +++ b/js/ui/viewSelector.js @@ -12,6 +12,7 @@ const St = imports.gi.St; const AppDisplay = imports.ui.appDisplay; const Main = imports.ui.main; +const OverviewControls = imports.ui.overviewControls; const Params = imports.misc.params; const RemoteSearch = imports.ui.remoteSearch; const Search = imports.ui.search; @@ -203,32 +204,36 @@ const ViewSelector = new Lang.Class({ return page; }, + _fadePageIn: function() { + this._activePage.show(); + Tweener.addTween(this._activePage, + { opacity: 255, + time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / 2, + transition: 'easeOutQuad' + }); + }, + _showPage: function(page) { if (page == this._activePage) return; let oldPage = this._activePage; - if (oldPage) { + this._activePage = page; + this.emit('page-changed'); + + if (oldPage) Tweener.addTween(oldPage, { opacity: 0, - time: 0.1, + time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / 2, transition: 'easeOutQuad', onComplete: Lang.bind(this, function() { oldPage.hide(); + this._fadePageIn(); }) }); - } - - this._activePage = page; - this._activePage.show(); - this.emit('page-changed'); - - Tweener.addTween(this._activePage, - { opacity: 255, - time: 0.1, - transition: 'easeOutQuad' - }); + else + this._fadePageIn(); }, _a11yFocusPage: function(page) {