private void UpdateButton()
{
if (_items.Count == 0)
{
_button.BackColor = null;
_button.Image = Resources.NotificationsInactive;
_button.ForeColor = SystemColors.ControlDark;
}
else
{
var priority = NiNotificationItemPriority.Normal;
foreach (var item in _items)
{
priority = (NiNotificationItemPriority)Math.Max((int)priority, (int)item.Priority);
}
_button.ForeColor = null;
switch (priority)
{
case NiNotificationItemPriority.Informational:
_button.BackColor = NotificationsControl.WarningColor;
break;
case NiNotificationItemPriority.Critical:
_button.BackColor = NotificationsControl.ErrorColor;
_button.ForeColor = Color.White;
break;
default:
_button.BackColor = null;
break;
}
_button.Image = Resources.NotificationsActive;
}
ErrorUtil.ThrowOnFailure(_titleBarButtonManager.UpdateButton(_buttonCookie, _button));
}