private void UpdateGvent(Gvent gvent, GventChanges change) { switch (change) { case GventChanges.Start: case GventChanges.Stop: if (_Gvents.ContainsKey(gvent)) { ListViewItem item = _Gvents[gvent]; Remove(item); Add(item); } return; case GventChanges.Color: case GventChanges.Title: if (_Gvents.ContainsKey(gvent)) { ItemUpdate(_Gvents[gvent]); } return; case GventChanges.Status: if (gvent.Status == GventStatus.Dismissed) { Remove(gvent); } else if (_Gvents.ContainsKey(gvent)) { ItemUpdate(_Gvents[gvent]); } return; } }
/// <summary> /// Add a new gvent to the agenda list /// </summary> /// <param name="gvent">gvent to add</param> public void Add(Gvent gvent) { if (gvent.Status == GventStatus.Dismissed) { return; } if (this.InvokeRequired) { this.Invoke(new Action <Gvent>(this.Add), gvent); return; } // Create a new Item for the gvent var item = new ListViewItem(); _Gvents.Add(gvent, item); item.Tag = gvent; // Set the item's text and color ItemUpdate(item); // Add the item to the list Add(item); }
private void Remove(Gvent gvent) { if (_Gvents.ContainsKey(gvent)) { ListViewItem item = _Gvents[gvent]; Remove(item); item.Tag = null; _Gvents.Remove(gvent); } }
private static void ItemUpdate(ListViewItem item) { if (IsGvent(item)) { Gvent gvent = item.Tag as Gvent; item.Text = gvent.Title; string time; if (!gvent.AllDay) { time = gvent.Start.ToString("t"); } else { time = gvent.LengthString; } if (item.SubItems.Count > 1) { item.SubItems[1].Text = time; } else { item.SubItems.Add(time); } item.ForeColor = gvent.Calendar.Color; switch (gvent.Status) { case GventStatus.Future: item.BackColor = Properties.Settings.Default.FutureColor; break; case GventStatus.Soon: item.BackColor = Properties.Settings.Default.SoonColor; break; case GventStatus.Now: item.BackColor = Properties.Settings.Default.NowColor; break; case GventStatus.Past: item.BackColor = Properties.Settings.Default.PastColor; break; } } }
/// <summary> /// Add a new gvent to the agenda list /// </summary> /// <param name="gvent">gvent to add</param> public void Add(Gvent gvent) { if (gvent.Status == GventStatus.Dismissed) return; // Create a new Item for the gvent var item = new ListViewItem(); _Gvents.Add(gvent, item); item.Tag = gvent; // Set the item's text and color ItemUpdate(item); // Add the item to the list Add(item); }
private void Remove(Gvent gvent) { if (this.InvokeRequired) { this.Invoke(new Action <Gvent>(this.Remove), gvent); return; } if (_Gvents.ContainsKey(gvent)) { ListViewItem item = _Gvents[gvent]; Remove(item); item.Tag = null; _Gvents.Remove(gvent); } }
/// <summary> /// Add a new gvent to the agenda list /// </summary> /// <param name="gvent">gvent to add</param> public void Add(Gvent gvent) { if (gvent.Status == GventStatus.Dismissed) { return; } // Create a new Item for the gvent var item = new ListViewItem(); _Gvents.Add(gvent, item); item.Tag = gvent; // Set the item's text and color ItemUpdate(item); // Add the item to the list Add(item); }
private void UpdateGvent(Gvent gvent, GventChanges change) { if (this.InvokeRequired) { this.Invoke(new Action <Gvent, GventChanges>(this.UpdateGvent), gvent, change); return; } switch (change) { case GventChanges.Start: case GventChanges.Stop: if (_Gvents.ContainsKey(gvent)) { ListViewItem item = _Gvents[gvent]; Remove(item); ItemUpdate(item); Add(item); } return; case GventChanges.Color: case GventChanges.Title: if (_Gvents.ContainsKey(gvent)) { ItemUpdate(_Gvents[gvent]); } return; case GventChanges.Status: if (gvent.Status == GventStatus.Dismissed) { Remove(gvent); } else if (_Gvents.ContainsKey(gvent)) { ItemUpdate(_Gvents[gvent]); } return; } }
private void UpdateGvent(Gvent gvent, GventChanges change) { switch (change) { case GventChanges.Start: case GventChanges.Stop: if (_Gvents.ContainsKey(gvent)) { ListViewItem item = _Gvents[gvent]; Remove(item); Add(item); } return; case GventChanges.Color: case GventChanges.Title: if (_Gvents.ContainsKey(gvent)) ItemUpdate(_Gvents[gvent]); return; case GventChanges.Status: if (gvent.Status == GventStatus.Dismissed) Remove(gvent); else if (_Gvents.ContainsKey(gvent)) ItemUpdate(_Gvents[gvent]); return; } }
public static void Speak(Gvent gvent) { StringBuilder spoken = new StringBuilder(gvent.Title); DateTime Now = DateTime.Now; TimeSpan timespan; if (gvent.Start > Now) { timespan = gvent.Start - Now; if (timespan.Days != 0 || timespan.Hours != 0 || timespan.Minutes != 0) spoken.Append(" starts in "); else spoken.Append(" starts soon!"); } else { timespan = DateTime.Now - gvent.Start; if (timespan.Days != 0 || timespan.Hours != 0 || timespan.Minutes != 0) spoken.Append(" started "); else spoken.Append(" starts now!"); } if (timespan.Days > 0) { if (gvent.Start > Now) timespan = gvent.Start.Date - Now.Date; else timespan = Now.Date - gvent.Start.Date; spoken.Append(timespan.Days); if (timespan.Days == 1) spoken.Append(" day"); else spoken.Append(" days"); } else { if (timespan.Seconds > 30) timespan = new TimeSpan(0, timespan.Hours, timespan.Minutes + 1, 0); if ((timespan.Minutes % 60 != 0) && (timespan.Hours >= 6)) timespan = new TimeSpan(timespan.Days, timespan.Hours, timespan.Minutes + (90 - timespan.Minutes) % 60 - 30, 0); if ((timespan.Minutes % 15 != 0) && (timespan.Hours > 0)) timespan = new TimeSpan(timespan.Days, timespan.Hours, timespan.Minutes + (67 - timespan.Minutes) % 15 - 7, 0); if ((timespan.Minutes % 5 != 0) && (timespan.Minutes > 10 || timespan.Hours > 0)) timespan = new TimeSpan(timespan.Days, timespan.Hours, timespan.Minutes + (62 - timespan.Minutes) % 5 - 2, 0); if (timespan.Days == 1) { spoken.Append("1 day"); } if (timespan.Hours > 0) { spoken.Append(timespan.Hours); if (timespan.Hours == 1) spoken.Append(" hour"); else spoken.Append(" hours"); } if (timespan.Minutes > 0) { if (timespan.Hours > 0) spoken.Append(", "); spoken.Append(timespan.Minutes); if (timespan.Minutes == 1) spoken.Append(" minute"); else spoken.Append(" minutes"); } } if (gvent.Start > Now) spoken.Append('!'); else spoken.Append(" ago!"); voice.Speak(spoken.ToString()); }
private void StatusAlert(Gvent gvent) { switch (gvent.Status) { case GventStatus.Soon: if (Properties.Settings.Default.SoonPopup) Hidden = false; if (Properties.Settings.Default.SoonSound) Sound.MakeSound(Properties.Settings.Default.SoundPath); if (Properties.Settings.Default.SoonVerbal) Sound.Speak(gvent); return; case GventStatus.Now: if (Properties.Settings.Default.NowPopup) Hidden = false; if (Properties.Settings.Default.NowSound) Sound.MakeSound(Properties.Settings.Default.SoundPath); if (Properties.Settings.Default.NowVerbal) Sound.Speak(gvent); return; case GventStatus.Past: if (Properties.Settings.Default.PastDismiss) gvent.Dismiss(); return; } }
private void DisplayEventDetails(Gvent gvent) { reminderFormTableLayoutPanel.SuspendLayout(); if (gvent != null) { // Title eventWhat.Text = gvent.Title; DateTime start = gvent.Start; DateTime stop = gvent.Stop; string when; // Time if (start.Date == stop.AddSeconds(-1).Date) { if (start.Hour == 0 && start.Minute == 0 && stop.Hour == 0 && stop.Minute == 0) when = "{0:ddd}, {0:m}"; else when = "{0:ddd}, {0:m} {0:t} - {1:t}"; } else { if (start.Hour == 0 && start.Minute == 0 && stop.Hour == 0 && stop.Minute == 0) when = "{0:ddd}, {0:m} - {1:ddd}, {1:m}"; else when = "{0:ddd}, {0:m} {0:t} - {1:ddd}, {1:m} {1:t}"; } when = String.Format(when, start, stop); when = String.Format("{0} ({1})", when, gvent.LengthString); eventWhen.Text = when; // Location eventWhere.Text = gvent.Location; } else { eventWhat.Text = null; eventWhen.Text = "No event selected"; eventWhere.Text = null; } reminderFormTableLayoutPanel.ResumeLayout(); }
public GventEventArgs(Gvent gvent, GventChanges changes) { Gvent = gvent; Changes = changes; }