private void ParticipationMessage(object state) { _participationTimer.Dispose(); var args = new NotifyUserMessageEventArgs(PARTICIPATIONMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenDialog, typeof(UserStatisticsParticipationDialog)); _eventAggregator.GetEvent <NotifyUserMessageEvent>().Publish(args); }
private void CheckForNewerVersion() { var feedReader = new NauXmlFeedReaderEx(); var updManager = UpdateManager.Instance; updManager.UpdateSource = new SimpleWebSource(ConfigurationManager.AppSettings["UpdateSourceUrl"]); updManager.UpdateFeedReader = feedReader; updManager.ReinstateIfRestarted(); updManager.Config.UpdateProcessName = "GODspeed"; updManager.Config.UpdateExecutableName = "godspeed.exe"; if (updManager.State == UpdateManager.UpdateProcessState.NotChecked) { _workHandler.Run(() => { updManager.CheckForUpdates(); return(string.Compare(feedReader.LatestVersionOnServer, App.ApplicationVersion, StringComparison.InvariantCultureIgnoreCase) == 1 && updManager.UpdatesAvailable > 0); }, hasUpdate => { if (!hasUpdate) { return; } var args = new NotifyUserMessageEventArgs(NEWVERSIONAVAILABLEMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenDialog, typeof(AutoUpdateDialog), MessageFlags.Ignorable, feedReader.LatestVersionOnServer); _eventAggregator.GetEvent <NotifyUserMessageEvent>().Publish(args); }); } }
private void NotifyUserMessage(NotifyUserMessageEventArgs e) { if (_userSettings.IsMessageIgnored(e.MessageKey)) { return; } var message = string.Format(Resx.ResourceManager.GetString(e.MessageKey), e.MessageArgs); var i = UserMessages.IndexOf(m => m.Message == message); if (i == -1) { if (UserMessages.First() is NoMessagesViewModel) { UserMessages.RemoveAt(0); } UserMessages.Insert(0, new UserMessageViewModel(message, e)); if (_userSettings.DisableNotificationSound) { return; } var notificationSound = new SoundPlayer(new MemoryStream(ResourceManager.GetContentByteArray("/Resources/Sounds/notification.wav"))); notificationSound.Play(); } else if (i != 0) { UserMessages.Move(i, 0); } }
public UserMessageViewModel(string message, NotifyUserMessageEventArgs e) { Message = message; var png = ResourceManager.GetContentByteArray(string.Format("/Resources/{0}.png", e.Icon)); Icon = StfsPackageExtensions.GetBitmapFromByteArray(png); CommandParameter = new UserMessageCommandParameter(this, e.Command, e.CommandParameter); Flags = e.Flags; }
private void CheckForNewerVersion() { var asm = Assembly.GetExecutingAssembly(); var title = asm.GetAttribute<AssemblyTitleAttribute>().Title; const string url = "https://godspeed.codeplex.com/"; _workHandler.Run(() => { try { var request = WebRequest.Create(url); var response = request.GetResponse(); var titlePattern = new Regex(@"\<span class=""rating_header""\>current.*?\<td\>(.*?)\</td\>", RegexOptions.IgnoreCase | RegexOptions.Singleline); var datePattern = new Regex(@"\<span class=""rating_header""\>date.*?\<td\>.*?LocalTimeTicks=""(.*?)""", RegexOptions.IgnoreCase | RegexOptions.Singleline); string html; using (var stream = response.GetResponseStream()) { var sr = new StreamReader(stream, Encoding.UTF8); html = sr.ReadToEnd(); sr.Close(); } var latestTitle = titlePattern.Match(html).Groups[1].Value.Trim(); var latestDate = new DateTime(1970, 1, 1); latestDate = latestDate.AddSeconds(long.Parse(datePattern.Match(html).Groups[1].Value)).ToLocalTime(); return new Tuple<string, DateTime>(latestTitle, latestDate); } catch { return new Tuple<string, DateTime>(string.Empty, DateTime.MinValue); } }, info => { if (string.Compare(title, info.Item1, StringComparison.InvariantCultureIgnoreCase) != -1) return; var args = new NotifyUserMessageEventArgs(NEWVERSIONAVAILABLEMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenUrl, url, MessageFlags.None, info.Item1, info.Item2); _eventAggregator.GetEvent<NotifyUserMessageEvent>().Publish(args); }); }
public void QueueMessage(NotifyUserMessageEventArgs message) { _messageQueue.Enqueue(message); }
private void CodeplexMessage(object state) { _codeplexTimer.Dispose(); var args = new NotifyUserMessageEventArgs(CODEPLEXMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenUrl, "http://godspeed.codeplex.com", MessageFlags.Ignorable | MessageFlags.IgnoreAfterOpen); _eventAggregator.GetEvent<NotifyUserMessageEvent>().Publish(args); }
private void FacebookMessage(object state) { _facebookTimer.Dispose(); var args = new NotifyUserMessageEventArgs(FACEBOOKMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenUrl, "http://www.facebook.com/godspeedftp", MessageFlags.Ignorable | MessageFlags.IgnoreAfterOpen); _eventAggregator.GetEvent<NotifyUserMessageEvent>().Publish(args); }
private void ParticipationMessage(object state) { _participationTimer.Dispose(); var args = new NotifyUserMessageEventArgs(PARTICIPATIONMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenDialog, typeof(UserStatisticsParticipationDialog)); _eventAggregator.GetEvent<NotifyUserMessageEvent>().Publish(args); }
private void NotifyUserMessage(NotifyUserMessageEventArgs e) { if (_userSettings.IsMessageIgnored(e.MessageKey)) return; var message = string.Format(Resx.ResourceManager.GetString(e.MessageKey), e.MessageArgs); var i = UserMessages.IndexOf(m => m.Message == message); if (i == -1) { if (UserMessages.First() is NoMessagesViewModel) UserMessages.RemoveAt(0); UserMessages.Insert(0, new UserMessageViewModel(message, e)); if (_userSettings.DisableNotificationSound) return; var notificationSound = new SoundPlayer(new MemoryStream(ResourceManager.GetContentByteArray("/Resources/Sounds/notification.wav"))); notificationSound.Play(); } else if (i != 0) { UserMessages.Move(i, 0); } }
private void OnNotifyUserMessage(NotifyUserMessageEventArgs e) { UIThread.Run(() => NotifyUserMessage(e)); }
//private void FacebookMessage(object state) //{ // _facebookTimer.Dispose(); // var args = new NotifyUserMessageEventArgs(FACEBOOKMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenUrl, "http://www.facebook.com/godspeedftp", MessageFlags.Ignorable | MessageFlags.IgnoreAfterOpen); // _eventAggregator.GetEvent<NotifyUserMessageEvent>().Publish(args); //} //private void CodeplexMessage(object state) //{ // _codeplexTimer.Dispose(); // var args = new NotifyUserMessageEventArgs(CODEPLEXMESSAGEKEY, MessageIcon.Info, MessageCommand.OpenUrl, "http://godspeed.codeplex.com", MessageFlags.Ignorable | MessageFlags.IgnoreAfterOpen); // _eventAggregator.GetEvent<NotifyUserMessageEvent>().Publish(args); //} public void QueueMessage(NotifyUserMessageEventArgs message) { _messageQueue.Enqueue(message); }