From f2fc2d301c2a61403ec3b23c49ff4351b0fd4c65 Mon Sep 17 00:00:00 2001 From: doitux Date: Sun, 14 Oct 2007 17:59:40 +0000 Subject: [PATCH] networkgame-nick-highlighting --- src/gui/qt/chattools/chattools.cpp | 25 ++++++++++++++++--- src/gui/qt/chattools/chattools.h | 7 +++++- .../gamelobbydialog/lobbychat/lobbychat.cpp | 2 +- src/gui/qt/mainwindow/chat/chat.cpp | 2 +- .../startnetworkgamedialogimpl.cpp | 2 +- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/gui/qt/chattools/chattools.cpp b/src/gui/qt/chattools/chattools.cpp index be3d5e3a..d52af228 100644 --- a/src/gui/qt/chattools/chattools.cpp +++ b/src/gui/qt/chattools/chattools.cpp @@ -19,12 +19,13 @@ ***************************************************************************/ #include "chattools.h" #include "session.h" +#include "configfile.h" #include using namespace std; -ChatTools::ChatTools(QLineEdit* l, QTreeWidget *t, QTextBrowser *b) : nickAutoCompletitionCounter(0), myLineEdit(l), myNickTreeWidget(t), myNickStringList(NULL), myTextBrowser(b) +ChatTools::ChatTools(QLineEdit* l, ConfigFile *c, QTreeWidget *t, QTextBrowser *b, int notifyMode) : nickAutoCompletitionCounter(0), myLineEdit(l), myNickTreeWidget(t), myNickStringList(NULL), myTextBrowser(b), myNotifyMode(notifyMode), myConfig(c) { } @@ -46,8 +47,26 @@ void ChatTools::sendMessage() { void ChatTools::receiveMessage(QString playerName, QString message) { - if(myTextBrowser) - myTextBrowser->append(playerName + ": " + 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(""+message+""); + break; + case 2: tempMsg = QString(""+message+""); + break; + default:; + } + myTextBrowser->append(playerName + ": " + tempMsg); + } + else { + myTextBrowser->append(playerName + ": " + message); + } + } } void ChatTools::clearChat() { diff --git a/src/gui/qt/chattools/chattools.h b/src/gui/qt/chattools/chattools.h index c2edf8d0..26a393c3 100644 --- a/src/gui/qt/chattools/chattools.h +++ b/src/gui/qt/chattools/chattools.h @@ -25,13 +25,14 @@ #include class Session; +class ConfigFile; class ChatTools : public QObject { Q_OBJECT public: - ChatTools(QLineEdit* l, QTreeWidget *t = NULL, QTextBrowser *b = NULL); + ChatTools(QLineEdit* l, ConfigFile *c, QTreeWidget *t = NULL, QTextBrowser *b = NULL, int notifyMode = 0); ~ChatTools(); @@ -64,6 +65,10 @@ private: QStringList myNickStringList; QTextBrowser *myTextBrowser; Session *mySession; + int myNotifyMode; // 0 == no notification, 1 == bold notification, 2 == yellow notification + ConfigFile *myConfig; + + // friend class GuiWrapper; }; diff --git a/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp b/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp index f4c1cff8..ffca2e6e 100644 --- a/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp +++ b/src/gui/qt/gamelobbydialog/lobbychat/lobbychat.cpp @@ -32,7 +32,7 @@ using namespace std; LobbyChat::LobbyChat(gameLobbyDialogImpl* l, ConfigFile *c) : myLobby(l), myConfig(c) { - myChatTools = new ChatTools(myLobby->lineEdit_ChatInput, myLobby->treeWidget_NickList); + myChatTools = new ChatTools(myLobby->lineEdit_ChatInput, myConfig, myLobby->treeWidget_NickList); } LobbyChat::~LobbyChat() diff --git a/src/gui/qt/mainwindow/chat/chat.cpp b/src/gui/qt/mainwindow/chat/chat.cpp index dd0bc255..404a6974 100644 --- a/src/gui/qt/mainwindow/chat/chat.cpp +++ b/src/gui/qt/mainwindow/chat/chat.cpp @@ -28,7 +28,7 @@ using namespace std; Chat::Chat(mainWindowImpl* w, ConfigFile *c) : myW(w), myConfig(c) { - myChatTools = new ChatTools(myW->lineEdit_ChatInput); + myChatTools = new ChatTools(myW->lineEdit_ChatInput, myConfig); } diff --git a/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp b/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp index 87b90a72..a5a2a287 100644 --- a/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp +++ b/src/gui/qt/startnetworkgamedialog/startnetworkgamedialogimpl.cpp @@ -28,7 +28,7 @@ startNetworkGameDialogImpl::startNetworkGameDialogImpl(QWidget *parent, ConfigFi { setupUi(this); - myChat = new ChatTools(lineEdit_ChatInput, treeWidget, textBrowser_ChatDisplay); + myChat = new ChatTools(lineEdit_ChatInput, myConfig, treeWidget, textBrowser_ChatDisplay, 1); lineEdit_ChatInput->installEventFilter(this);