public void AddMessage(Message message, ChatControlBackEnd engine, MessageStyle style = MessageStyle.None) { messageHistory.Add(new Cortege2 <Message, MessageStyle>(message, style)); PostMessage(message, style, engine); }
private void PostMessage(Message message, MessageStyle style, ChatControlBackEnd engine) { if (style == MessageStyle.Notify && !ChatSettings.Instance.ShowNotifications) return; var nickName = ""; var user = AllUsers.Instance.GetUser(message.Sender); if (user != null) { nickName = user.NickName + ": "; style = MessageStyle.Others; } if (message.Sender == ChatSettings.Instance.Id) // detect own style = MessageStyle.Mine; else // detect owner { var room = engine.GetActiveRooms().Find(r => r.Name == message.Room); if (room != null && message.Sender == room.Owner) style = MessageStyle.Owner; } var text = "[" + message.TimeStamp.ToString(ChatSettings.Instance.DateTimeFormat) + "] " + nickName + message.Text; var length = allMessagesRichTextBox.TextLength; allMessagesRichTextBox.AppendText(text + Environment.NewLine); if (style == MessageStyle.None) return; allMessagesRichTextBox.SelectionStart = length; allMessagesRichTextBox.SelectionLength = text.Length; switch (style) { case MessageStyle.Mine: allMessagesRichTextBox.SelectionColor = ChatSettings.Instance.OwnColor; allMessagesRichTextBox.SelectionFont = ChatSettings.Instance.OwnFont; break; case MessageStyle.Owner: allMessagesRichTextBox.SelectionColor = ChatSettings.Instance.OwnerColor; allMessagesRichTextBox.SelectionFont = ChatSettings.Instance.OwnerFont; break; case MessageStyle.Others: allMessagesRichTextBox.SelectionColor = ChatSettings.Instance.OthersColor; allMessagesRichTextBox.SelectionFont = ChatSettings.Instance.OthersFont; break; case MessageStyle.Error: allMessagesRichTextBox.SelectionColor = Color.DarkRed; allMessagesRichTextBox.SelectionFont = Font; break; case MessageStyle.Notify: allMessagesRichTextBox.SelectionColor = Color.Gray; allMessagesRichTextBox.SelectionFont = Font; break; } allMessagesRichTextBox.SelectionStart = allMessagesRichTextBox.TextLength; allMessagesRichTextBox.ScrollToCaret(); }
private void PostMessage(Message message, MessageStyle style, ChatControlBackEnd engine) { if (style == MessageStyle.Notify && !ChatSettings.Instance.ShowNotifications) { return; } var nickName = ""; var user = AllUsers.Instance.GetUser(message.Sender); if (user != null) { nickName = user.NickName + ": "; style = MessageStyle.Others; } if (message.Sender == ChatSettings.Instance.Id) // detect own { style = MessageStyle.Mine; } else // detect owner { var room = engine.GetActiveRooms().Find(r => r.Name == message.Room); if (room != null && message.Sender == room.Owner) { style = MessageStyle.Owner; } } var text = "[" + message.TimeStamp.ToString(ChatSettings.Instance.DateTimeFormat) + "] " + nickName + message.Text; var length = allMessagesRichTextBox.TextLength; allMessagesRichTextBox.AppendText(text + Environment.NewLine); if (style == MessageStyle.None) { return; } allMessagesRichTextBox.SelectionStart = length; allMessagesRichTextBox.SelectionLength = text.Length; switch (style) { case MessageStyle.Mine: allMessagesRichTextBox.SelectionColor = ChatSettings.Instance.OwnColor; allMessagesRichTextBox.SelectionFont = ChatSettings.Instance.OwnFont; break; case MessageStyle.Owner: allMessagesRichTextBox.SelectionColor = ChatSettings.Instance.OwnerColor; allMessagesRichTextBox.SelectionFont = ChatSettings.Instance.OwnerFont; break; case MessageStyle.Others: allMessagesRichTextBox.SelectionColor = ChatSettings.Instance.OthersColor; allMessagesRichTextBox.SelectionFont = ChatSettings.Instance.OthersFont; break; case MessageStyle.Error: allMessagesRichTextBox.SelectionColor = Color.DarkRed; allMessagesRichTextBox.SelectionFont = Font; break; case MessageStyle.Notify: allMessagesRichTextBox.SelectionColor = Color.Gray; allMessagesRichTextBox.SelectionFont = Font; break; } allMessagesRichTextBox.SelectionStart = allMessagesRichTextBox.TextLength; allMessagesRichTextBox.ScrollToCaret(); }
public void AddMessage(Message message, ChatControlBackEnd engine, MessageStyle style = MessageStyle.None) { messageHistory.Add(new Cortege2<Message, MessageStyle>(message, style)); PostMessage(message, style, engine); }