/// <summary> /// Initializes a new instance of the MainViewModel class. /// </summary> public MainViewModel() { if (IsInDesignMode) { return; } //OnUpdateStyles(); //TODO: replace hard-coded config JabberSession = new JabberSession(Dispatcher.CurrentDispatcher); ConferencesModels = new ObservableCollection<ConferenceViewModel>(); JabberSession.BeginAuthentication(new ConnectionConfig { User = "******", Server = "jabber.uruchie.org", Password = "******" }); JabberSession.Conferences.Add(new JID("main", "conference.jabber.uruchie.org", "CIA")); JabberSession.Conferences.Add(new JID("cyclops", "conference.jabber.uruchie.org", "CIA2")); JabberSession.Conferences.Add(new JID("CIA", "conference.jabber.uruchie.org", "CIA2")); JabberSession.Conferences.Add(new JID("support", "conference.jabber.uruchie.org", "CIA2")); JabberSession.Conferences.SynchronizeWith(ConferencesModels, conference => new ConferenceViewModel(conference)); UpdateStyles = new RelayCommand(OnUpdateStyles); }
public ConferenceViewModel(Conference conference) { Conference = conference; Conference.Banned += new System.EventHandler<Core.Model.CustomEventArgs.BannedEventArgs>(Conference_Banned); Conference.Kicked += new System.EventHandler<Core.Model.CustomEventArgs.KickedEventArgs>(Conference_Kicked); Conference.Disconnected += new System.EventHandler<Core.Model.CustomEventArgs.DisconnectEventArgs>(Conference_Disconnected); Messages = new ObservableCollection<MessageViewModel>(); Conference.Messages.SynchronizeWith(Messages, msg => new MessageViewModel(msg)); SendMessage = new RelayCommand(OnSendMessage, () => !string.IsNullOrEmpty(CurrentlyTypedMessage)); }