[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:
parent
266a0fb7d6
commit
88211ed4bb
@ -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();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user