overviewControls: fade view selector and thumbnails slider on DnD

When an item is dragged from a page that is not the windows one, the
only possible target is the dash, so fade out the rest.

https://bugzilla.gnome.org/show_bug.cgi?id=686984
This commit is contained in:
Cosimo Cecchi 2013-02-17 23:45:24 -05:00
parent 08a0479c9e
commit 1db6d15677
2 changed files with 31 additions and 0 deletions

View File

@ -341,6 +341,21 @@ const ControlsManager = new Lang.Class({
this._viewSelector = viewSelector;
this._viewSelector.connect('page-changed', Lang.bind(this, this._setVisibility));
this._viewSelector.connect('page-empty', Lang.bind(this, this._onPageEmpty));
Main.overview.connect('item-drag-begin', Lang.bind(this,
function() {
let activePage = this._viewSelector.getActivePage();
if (activePage != ViewSelector.ViewPage.WINDOWS)
this._viewSelector.fadeHalf();
}));
Main.overview.connect('item-drag-end', Lang.bind(this,
function() {
this._viewSelector.fadeIn();
}));
Main.overview.connect('item-drag-cancelled', Lang.bind(this,
function() {
this._viewSelector.fadeIn();
}));
},
_setVisibility: function() {

View File

@ -502,6 +502,22 @@ const ViewSelector = new Lang.Class({
return ViewPage.APPS;
else
return ViewPage.SEARCH;
},
fadeIn: function() {
let actor = this._activePage;
Tweener.addTween(actor, { opacity: 255,
time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / 2,
transition: 'easeInQuad'
});
},
fadeHalf: function() {
let actor = this._activePage;
Tweener.addTween(actor, { opacity: 128,
time: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / 2,
transition: 'easeOutQuad'
});
}
});
Signals.addSignalMethods(ViewSelector.prototype);