void WriteLine(IChatLine line) { if (!showJoinLeave && line is JoinLine || line is LeaveLine) return; if (!showHistory && line is HistoryLine) return; // var scrollToEnd = !Focused; // why? var scrollToEnd = true; var selectionStart = SelectionStart; var selectionLength = SelectionLength; foreach (var text in line.FormattedText) { SelectionColor = text.Color; using (var font = new Font(Font, text.Style)) { SelectionFont = font; AppendText(text.Text); } } SelectionStart = selectionStart; SelectionLength = selectionLength; if (scrollToEnd) { SelectionStart = Text.Length; ScrollToCaret(); } }
void WriteLine(IChatLine line) { if (!showJoinLeave && line is JoinLine || line is LeaveLine) { return; } if (!showHistory && line is HistoryLine) { return; } // var scrollToEnd = !Focused; // why? var scrollToEnd = true; var selectionStart = SelectionStart; var selectionLength = SelectionLength; foreach (var text in line.FormattedText) { SelectionColor = text.Color; using (var font = new Font(Font, text.Style)) { SelectionFont = font; AppendText(text.Text); } } SelectionStart = selectionStart; SelectionLength = selectionLength; if (scrollToEnd) { SelectionStart = Text.Length; ScrollToCaret(); } }
public void AddLine([NotNull] IChatLine line) { if (line == null) { throw new ArgumentNullException("line"); } if ((line is SaidLine && Program.Conf.IgnoredUsers.Contains(((SaidLine)line).AuthorName)) || (line is SaidExLine && Program.Conf.IgnoredUsers.Contains(((SaidExLine)line).AuthorName))) { return; } ChatBox.AddLine(line); HistoryManager.LogLine(UserName, line); var saidLine = line as SaidLine; if (saidLine != null && WindowsApi.IdleTime.TotalMinutes > Program.Conf.IdleTime && (DateTime.Now - lastAnsweringMessageTime).TotalMinutes > Program.Conf.IdleTime) { if (saidLine.AuthorName != Program.TasClient.UserName) { Program.TasClient.Say(SayPlace.User, UserName, String.Format("Answering machine: I have been idle for {0} minutes.", (int)WindowsApi.IdleTime.TotalMinutes), false); lastAnsweringMessageTime = DateTime.Now; } } }
public void AddLine(IChatLine line) { lines.Add(line); if (PassesFilter(line)) { WriteLine(line); } }
public bool PassesFilter(IChatLine line) { if (!showJoinLeave && (line is JoinLine || line is LeaveLine)) return false; if (!showHistory && line is HistoryLine) return false; if (!Program.Conf.ShowHourlyChimes && line is ChimeLine) return false; if (!String.IsNullOrEmpty(TextFilter)) return line.Text.Contains(TextFilter); return true; }
void WriteLine(IChatLine line) { var splitText = line.Text.Replace("\r\n", "\n").Replace("\\n", "\n").Split('\n'); AppendText(splitText[0]); string padding = (line is TopicLine) ? "" : " "; //padding to avoid player spoofing different player using multi-line & color & formating for (int i = 1; i < splitText.Length; i++) { AppendText(padding + splitText[i]); } }
public virtual void AddLine(IChatLine line) { if (ChannelName != "zkadmin" && ((line is SaidLine && Program.Conf.IgnoredUsers.Contains(((SaidLine)line).AuthorName)) || (line is SaidExLine && Program.Conf.IgnoredUsers.Contains(((SaidExLine)line).AuthorName)))) { return; } ChatBox.AddLine(line); ChannelLineAdded(this, new ChannelLineArgs() { Channel = ChannelName, Line = line }); HistoryManager.LogLine(ChannelName, line); }
public static void LogLine(string channelName, IChatLine line) { if (line is JoinLine || line is LeaveLine || line is HistoryLine || line is TopicLine) return; var lineStr = line is ChimeLine ? "*** " + ((ChimeLine)line).Date.ToString(System.Globalization.CultureInfo.CurrentCulture) : line.Text.StripAllCodes(); if (!newlineBuffer.ContainsKey(channelName)) //initialize content if haven't newlineBuffer.Add(channelName, new List<string>()); newlineBuffer[channelName].Add(lineStr); //put string to buffer for write later if (newlineBuffer[channelName].Count == 30) //write every 30th line FlushBuffer(); }
void WriteLine(IChatLine line) { if (PassesFilter(line)) { if (highlightActive && !DeHighlighted(line.Text)) { line = new HistoryLine(line.Text); } var splitText = line.Text.Replace("\r\n", "\n").Replace("\\n", "\n").Split('\n'); AppendText(splitText[0]); string padding = (line is TopicLine) ? "" : " "; //padding to avoid player spoofing different player using multi-line & color & formating for (int i = 1; i < splitText.Length; i++) { AppendText(padding + splitText[i]); } } }
public bool PassesFilter(IChatLine line) { if (!showJoinLeave && (line is JoinLine || line is LeaveLine)) { return(false); } if (!showHistory && line is HistoryLine) { return(false); } if (!Program.Conf.ShowHourlyChimes && line is ChimeLine) { return(false); } if (!String.IsNullOrEmpty(TextFilter)) { return(line.Text.Contains(TextFilter)); } return(true); }
public static void LogLine(string channelName, IChatLine line) { if (line is JoinLine || line is LeaveLine || line is HistoryLine || line is TopicLine) { return; } var lineStr = line is ChimeLine ? "*** " + ((ChimeLine)line).Date.ToString(System.Globalization.CultureInfo.CurrentCulture) : line.Text.StripAllCodes(); if (!newlineBuffer.ContainsKey(channelName)) //initialize content if haven't { newlineBuffer.Add(channelName, new List <string>()); } newlineBuffer[channelName].Add(lineStr); //put string to buffer for write later if (newlineBuffer[channelName].Count == 30) //write every 30th line { FlushBuffer(); } }
public override void AddLine(IChatLine line) { base.AddLine(line); BattleLine(this, new EventArgs <IChatLine>(line)); }
public virtual void AddLine(IChatLine line) { if (ChannelName != "zkadmin" && ((line is SaidLine && Program.Conf.IgnoredUsers.Contains(((SaidLine)line).AuthorName)) || (line is SaidExLine && Program.Conf.IgnoredUsers.Contains(((SaidExLine)line).AuthorName)))) return; ChatBox.AddLine(line); ChannelLineAdded(this, new ChannelLineArgs() { Channel = ChannelName, Line = line }); HistoryManager.LogLine(ChannelName, line); }
public void AddLine(IChatLine line) { lines.Add(line); WriteLine(line); }
public override void AddLine(IChatLine line) { base.AddLine(line); BattleLine(this, new EventArgs<IChatLine>(line)); }
void WriteLine(IChatLine line) { if (PassesFilter(line)) { if (highlightActive && !DeHighlighted(line.Text)) line = new HistoryLine(line.Text); var splitText = line.Text.Replace("\r\n", "\n").Replace("\\n", "\n").Split('\n'); AppendText(splitText[0]); string padding = (line is TopicLine) ? "" : " "; //padding to avoid player spoofing different player using multi-line & color & formating for (int i = 1; i < splitText.Length;i++ ) AppendText(padding + splitText[i]); } }