[gnome-shell] viewSelector: don't crossfade between pages



commit 278686dc4859eb8cfea6c5b1bc90046e2e7182ab
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Jan 24 01:35:19 2013 -0500

    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 files changed, 18 insertions(+), 13 deletions(-)
---
diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js
index 47ffe60..b40da6f 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) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]