Example #1
0
        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);
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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");
        }
Example #4
0
        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");
            }
        }
Example #5
0
 public void SetDuration(NotificationDuration duration)
 {
     this.duration = duration;
 }
Example #6
0
 public static void Show(string title, string text, NotificationDuration duration)
 {
     Show(title, text, GetTimeFromDurationEnumerable(duration));
 }
 public void SetDuration(NotificationDuration duration) {
     this.duration = duration;
 }
 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");
 }