linux statusicon: Simplify status icon allocation

This commit is contained in:
Hylke Bons 2013-10-10 13:06:16 +02:00
parent 15179608cc
commit d4a39b5a89

View file

@ -58,53 +58,29 @@ namespace SparkleShare {
Controller.UpdateIconEvent += delegate (IconState state) {
Application.Invoke (delegate {
switch (state) {
case IconState.Idle: {
#if HAVE_APP_INDICATOR
this.indicator.IconName = "process-syncing-idle";
#else
this.status_icon.IconName = "sparkleshare";
#endif
break;
}
case IconState.SyncingUp: {
#if HAVE_APP_INDICATOR
this.indicator.IconName = "process-syncing-up";
#else
this.status_icon.IconName = "process-syncing-up";
#endif
break;
}
case IconState.SyncingDown: {
#if HAVE_APP_INDICATOR
this.indicator.IconName = "process-syncing-down";
#else
this.status_icon.IconName = "process-syncing-down";
#endif
break;
}
case IconState.Syncing: {
#if HAVE_APP_INDICATOR
this.indicator.IconName = "process-syncing";
#else
this.status_icon.IconName = "process-syncing";
#endif
break;
}
case IconState.Error: {
#if HAVE_APP_INDICATOR
this.indicator.IconName = "process-syncing-error";
#else
this.status_icon.IconName = "process-syncing-error";
#endif
break;
}
}
#if HAVE_APP_INDICATOR
string icon_name = "process-syncing-idle";
#else
string icon_name = "sparkleshare";
#endif
if (state == IconState.SyncingUp)
icon_name = "process-syncing-up";
else if (state == IconState.SyncingDown)
icon_name = "process-syncing-down";
else if (state == IconState.Syncing)
icon_name = "process-syncing";
else if (state == IconState.Error)
icon_name = "process-syncing-error";
#if HAVE_APP_INDICATOR
this.indicator.IconName = icon_name;
// Force update of the status icon
this.indicator.Status = (int) IndicatorStatus.Attention;
this.indicator.Status = (int) IndicatorStatus.Active;
#else
this.status_icon.IconName = icon_name
#endif
});
};