<commit_before>/***************************************************************************
 *   Copyright (C) 2006 by <NAME>   *
 *   <EMAIL>   *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#include "chattools.h"
#include "session.h"
#include "configfile.h"
#include <iostream>

using namespace std;


ChatTools::ChatTools(QLineEdit* l, ConfigFile *c, int notifyMode, QTextBrowser *b, QTreeWidget *t) : nickAutoCompletitionCounter(0), myLineEdit(l), myNickTreeWidget(t), myNickStringList(NULL), myTextBrowser(b), myNotifyMode(notifyMode), myConfig(c)
{

}

ChatTools::~ChatTools()
{

}

void ChatTools::sendMessage() {
	
	fillChatLinesHistory(myLineEdit->text());
	if(mySession) {
		mySession->sendChatMessage(myLineEdit->text().toUtf8().constData());
		myLineEdit->setText("");
	}
	else { cout << "Session is not valid" << endl;}
}

void ChatTools::receiveMessage(QString playerName, QString message) { 

	if(myTextBrowser) {

		QString tempMsg;
		if(message.contains(QString::fromUtf8(myConfig->readConfigString("MyName").c_str()), Qt::CaseInsensitive)) {

			switch (myNotifyMode) {
				case 0: tempMsg = message;
				break;
				case 1:	tempMsg = QString("<b>"+message+"</b>");
				break;
				case 2: tempMsg = QString("<span style=\"color:#FFFF00;\">"+message+"</span>");
				break;
				default:;
			}
			myTextBrowser->append(playerName + ": " + tempMsg);
		}
		else {
			myTextBrowser->append(playerName + ": " + message); 
		}
	}
}

void ChatTools::clearChat() {

	if(myTextBrowser)
		myTextBrowser->clear();
}

void ChatTools::checkInputLength(QString string) {

	 if(string.toUtf8().length() > 120) myLineEdit->setMaxLength(string.length());  
}

void ChatTools::fillChatLinesHistory(QString fillString) {

	chatLinesHistory << fillString;
	if(chatLinesHistory.size() > 50) chatLinesHistory.removeFirst();


}

void ChatTools::showChatHistoryIndex(int index) { 

	if(index <= chatLinesHistory.size()) {

// 		cout << chatLinesHistory.size() << " : " <<  index << endl;<commit_msg>bugfix chat nick highlighting<commit_after>/***************************************************************************
 *   Copyright (C) 2006 by <NAME>   *
 *   <EMAIL>   *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
#include "chattools.h"
#include "session.h"
#include "configfile.h"
#include <iostream>

using namespace std;


ChatTools::ChatTools(QLineEdit* l, ConfigFile *c, int notifyMode, QTextBrowser *b, QTreeWidget *t) : nickAutoCompletitionCounter(0), myLineEdit(l), myNickTreeWidget(t), myNickStringList(NULL), myTextBrowser(b), myNotifyMode(notifyMode), myConfig(c)
{

}

ChatTools::~ChatTools()
{

}

void ChatTools::sendMessage() {
	
	fillChatLinesHistory(myLineEdit->text());
	if(mySession) {
		mySession->sendChatMessage(myLineEdit->text().toUtf8().constData());
		myLineEdit->setText("");
	}
	else { cout << "Session is not valid" << endl;}
}

void ChatTools::receiveMessage(QString playerName, QString message) { 

	if(myTextBrowser) {

		QString tempMsg;
		if(message.contains(QString::fromUtf8(myConfig->readConfigString("MyName").c_str()), Qt::CaseInsensitive)) {

			switch (myNotifyMode) {
				case 0: tempMsg = message;
				break;
				case 1:	tempMsg = QString("<span style=\"font-weight:bold;\">"+message+"</span>");
				break;
				case 2: tempMsg = QString("<span style=\"color:#FFFF00;\">"+message+"</span>");
				break;
				default:;
			}
			myTextBrowser->append(playerName + ": " + tempMsg);
		}
		else {
			switch (myNotifyMode) {
				case 0: tempMsg = message;
				break;
				case 1:	tempMsg = QString("<span style=\"font-weight:normal;\">"+message+"</span>");
				break;
				case 2: tempMsg = QString("<span style=\"color:#FFFFFF;\">"+message+"</span>");
				break;
				default:;
			}
			myTextBrowser->append(playerName + ": " + tempMsg); 
		}
	}
}

void ChatTools::clearChat() {

	if(myTextBrowser)
		myTextBrowser->clear();
}

void ChatTools::checkInputLength(QString string) {

	 if(string.toUtf8().length() > 120) myLineEdit->setMaxLength(string.length());  
}

void ChatTools::fillChatLinesHistory(QString fillString) {

	chatLinesHistory << fillString;
	if(chatLinesHistory.size() > 50) chatLinesHistory.removeFirst();


}

void ChatTools::showChatHistoryIndex(int index) { 

	if(index <= chatLinesHistory.size()) {

// 		cout << chatLinesHistory.size() << " : " <<  index << endl;
{'fraction_non_alphanumeric': 0.16469884920041847, 'fraction_numerical': 0.010312359886414586, 'mean_word_length': 2.6409140369967354, 'pattern_counts': {'":': 4, '<': 51, '<?xml version=': 0, '>': 43, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 22, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6868796', 'n_tokens_mistral': 2017, 'n_tokens_neox': 1809, 'n_words': 469}