internal static IXmlDocument GetDocument(IToastNotificationManager manager, IPredefinedToastNotificationInfo info) { var content = manager.GetTemplateContent(info.ToastTemplateType); for (uint i = 0; i < info.Lines.Length; i++) { SetTextLine(content, i, info.Lines[i]); } if (!string.IsNullOrEmpty(info.ImagePath)) { SetImageSrc(content, new System.Uri(info.ImagePath).AbsoluteUri); } NotificationDuration actualDuration = info.Duration; if (info.Sound != PredefinedSound.Notification_Default) { SetSound(content, info.Sound); if (IsLoopingSound(info.Sound)) { actualDuration = NotificationDuration.Long; } } if (actualDuration != NotificationDuration.Default) { SetDuration(content, actualDuration); } return(content); }
private static TimeSpan GetTimeFromDurationEnumerable(NotificationDuration duration) { switch (duration) { case NotificationDuration.VeryShort: return(TimeSpan.FromSeconds(2)); case NotificationDuration.Short: return(TimeSpan.FromSeconds(4)); case NotificationDuration.Medium: return(TimeSpan.FromSeconds(8)); case NotificationDuration.Long: return(TimeSpan.FromSeconds(10)); case NotificationDuration.VeryLong: return(TimeSpan.FromSeconds(12)); case NotificationDuration.ExtraLong: return(TimeSpan.FromSeconds(15)); default: throw new NotImplementedException(); } }
static void SetDuration(IXmlDocument xmldoc, NotificationDuration duration) { IXmlNodeList nodes; ComFunctions.CheckHRESULT(xmldoc.GetElementsByTagName("toast", out nodes)); IXmlNode toastNode; ComFunctions.CheckHRESULT(nodes.Item(0, out toastNode)); ((IXmlElement)toastNode).SetAttribute("duration", "long"); }
static void UpdateDuration(IXmlDocument xmldoc, IPredefinedToastNotificationInfo info) { NotificationDuration duration = info.Duration; if (IsLoopingSound(info.Sound)) { duration = NotificationDuration.Long; } if (duration != NotificationDuration.Default) { SetAttribute(xmldoc, "toast", "duration", "long"); } }
public void SetDuration(NotificationDuration duration) { this.duration = duration; }
public static void Show(string title, string text, NotificationDuration duration) { Show(title, text, GetTimeFromDurationEnumerable(duration)); }