panel: show spinner animation for busy applications

When the active application signals its busy state, we now will show a
spinner on the panel, next to the application name.

https://bugzilla.gnome.org/show_bug.cgi?id=697207
This commit is contained in:
Cosimo Cecchi 2013-04-03 14:18:43 -04:00
parent 45026df4bd
commit 5ecf40e967

View File

@ -566,9 +566,14 @@ const AppMenuButton = new Lang.Class({
} }
if (targetApp == this._targetApp) { if (targetApp == this._targetApp) {
if (targetApp && targetApp.get_state() != Shell.AppState.STARTING) { if (targetApp &&
targetApp.get_state() != Shell.AppState.STARTING &&
targetApp.get_state() != Shell.AppState.BUSY) {
this.stopAnimation(); this.stopAnimation();
this._maybeSetMenu(); this._maybeSetMenu();
} else if (targetApp &&
targetApp.get_state() == Shell.AppState.BUSY) {
this.startAnimation();
} }
return; return;
} }
@ -601,7 +606,8 @@ const AppMenuButton = new Lang.Class({
this._iconBox.set_child(icon); this._iconBox.set_child(icon);
this._iconBox.show(); this._iconBox.show();
if (targetApp.get_state() == Shell.AppState.STARTING) if (targetApp.get_state() == Shell.AppState.STARTING ||
targetApp.get_state() == Shell.AppState.BUSY)
this.startAnimation(); this.startAnimation();
else else
this._maybeSetMenu(); this._maybeSetMenu();