[linearView] Animate scroll bar size changes

When adding/removing workspaces in linear view, both workspaces and
scrollbar movement are animated, but the size of the scrollbar handle
changes abruptly. It is more consistent to animate the size change
as well.

https://bugzilla.gnome.org/show_bug.cgi?id=613456
This commit is contained in:
Florian Müllner 2010-05-08 23:45:09 +02:00
parent 266a0fb7d6
commit 88211ed4bb

View File

@ -1057,7 +1057,11 @@ SingleView.prototype = {
lostWorkspaces[l].disconnectAll(); lostWorkspaces[l].disconnectAll();
if (this._scroll != null) if (this._scroll != null)
this._scroll.adjustment.upper = newNumWorkspaces; Tweener.addTween(this._scroll.adjustment,
{ upper: newNumWorkspaces,
time: WORKSPACE_SWITCH_TIME,
transition: 'easeOutQuad'
});
if (newNumWorkspaces > oldNumWorkspaces) { if (newNumWorkspaces > oldNumWorkspaces) {
for (let w = oldNumWorkspaces; w < newNumWorkspaces; w++) { for (let w = oldNumWorkspaces; w < newNumWorkspaces; w++) {
@ -1070,13 +1074,11 @@ SingleView.prototype = {
this._computeWorkspacePositions(); this._computeWorkspacePositions();
this._updateWorkspaceActors(false); this._updateWorkspaceActors(false);
this._scrollScrollBarToIndex(active + 1, false);
} else { } else {
this._lostWorkspaces = lostWorkspaces; this._lostWorkspaces = lostWorkspaces;
this._scrollScrollBarToIndex(active, false);
this._scrollToActive(true);
} }
this._scrollToActive(true);
this._updatePanelVisibility(); this._updatePanelVisibility();
}, },