/// <summary> /// Snooze systray. /// </summary> /// <param name="menuItem"></param> /// <param name="timespan"></param> /// <returns>True if snoozed else False</returns> public bool SnoozeFor(IToolStripMenuItem menuItem) { if (ToolStripMenuItems == null) { throw new InvalidOperationException("ToolStripMenuItems should be initialized before calling this method"); } IToolStripMenuItem exists = ToolStripMenuItems.FirstOrDefault(m => m == menuItem); if (exists == null) { throw new InvalidOperationException("Argument not found in ToolStripMenuItems"); } if (menuItem.IsSnoozed) { AbortSnooze(); menuItem.IsSnoozed = false; return(false); } else { IToolStripMenuItem oldSnoozed = ToolStripMenuItems.FirstOrDefault(m => m.IsSnoozed == true); if (oldSnoozed != null) { AbortSnooze(); oldSnoozed.IsSnoozed = false; } menuItem.IsSnoozed = true; Snooze(menuItem.Duration); return(true); } }
void Snooze_OnSnoozeCompletion() { // This removes snoozed flag ToolStripMenuItems.FirstOrDefault(m => m.IsSnoozed == true).IsSnoozed = false; }