commit 4f2e27ad981e11d974f042783cdfae12f2194604 Author: Nikolas Zimmermann Date: Wed Sep 10 11:21:04 2003 +0000 CCMAIL: eisfuchs@tigress.com, gismore@users.sourceforge.net - don't use the deprecated KNotifyClient::event functions anymore - fix position of passive popups by passing mainWindows winId - pass text written in querys/messages/channels containing your name: to the event, now you can actually see the text, not just an empty messagebox Feel free to revert the last one if you don't like it... svn path=/trunk/kdeextragear-2/konversation/; revision=249955 diff --git a/konversation/inputfilter.cpp b/konversation/inputfilter.cpp index f4003e3..3f84ceb 100644 --- a/konversation/inputfilter.cpp +++ b/konversation/inputfilter.cpp @@ -48,7 +48,7 @@ void InputFilter::setServer(Server* newServer) server=newServer; } -void InputFilter::parseLine(const QString &a_newLine) +void InputFilter::parseLine(const QString &a_newLine, QWidget *mainWindow) { QString trailing(QString::null); QString newLine(a_newLine); @@ -97,10 +97,10 @@ void InputFilter::parseLine(const QString &a_newLine) if(prefix.find('!')==-1 && prefix!=server->getNickname()) parseServerCommand(prefix,command,parameterList,trailing); else - parseClientCommand(prefix,command,parameterList,trailing); + parseClientCommand(prefix,command,parameterList,trailing, mainWindow); } -void InputFilter::parseClientCommand(const QString &prefix, const QString &command, const QStringList ¶meterList, const QString &trailing) +void InputFilter::parseClientCommand(const QString &prefix, const QString &command, const QStringList ¶meterList, const QString &trailing, QWidget *mainWindow) { /* kdDebug() << "InputFilter::parseClientCommand(): " << prefix << " " @@ -162,11 +162,11 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma if(sourceNick != server->getNickname()) { if(ctcpArgument.lower().find(QRegExp("\\b"+server->getNickname().lower()+"\\b"))!=-1) { - KNotifyClient::event("nick"); + KNotifyClient::event(mainWindow->winId(), "nick"); } else { - KNotifyClient::event("message"); + KNotifyClient::event(mainWindow->winId(), "message"); } } } @@ -184,7 +184,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma // KNotify events... if(sourceNick != server->getNickname()) { - KNotifyClient::event("nick"); + KNotifyClient::event(mainWindow->winId(), "nick"); } } } @@ -230,7 +230,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma // Incoming file? if(dccType=="send") { - KNotifyClient::event("dcc_incoming"); + KNotifyClient::event(mainWindow->winId(), "dcc_incoming"); emit addDccGet(sourceNick,dccArgument); } // Incoming file that shall be resumed? @@ -299,11 +299,11 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma if(sourceNick != server->getNickname()) { if(trailing.lower().find(QRegExp("\\b"+server->getNickname().lower()+"\\b"))!=-1) { - KNotifyClient::event("nick"); + KNotifyClient::event(mainWindow->winId(), "nick", QString::fromLatin1("<%1> %2").arg(sourceNick).arg(trailing)); } else { - KNotifyClient::event("message"); + KNotifyClient::event(mainWindow->winId(), "message"); } } } @@ -318,7 +318,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma // KNotify events... if(sourceNick != server->getNickname()) { - KNotifyClient::event("nick"); + KNotifyClient::event(mainWindow->winId(), "nick", QString::fromLatin1("<%1> %2").arg(sourceNick).arg(trailing)); } } } @@ -434,7 +434,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma else { server->nickJoinsChannel(channelName,sourceNick,sourceHostmask); - KNotifyClient::event("join"); + KNotifyClient::event(mainWindow->winId(), "join"); } } else if(command=="kick") @@ -483,7 +483,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma server->removeNickFromChannel(parameterList[0],sourceNick,trailing); // KNotify events... if(sourceNick != server->getNickname()) { - KNotifyClient::event("part"); + KNotifyClient::event(mainWindow->winId(), "part"); } } else if(command=="quit") @@ -508,7 +508,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma server->removeNickFromServer(sourceNick,trailing); // KNotify events... if(sourceNick != server->getNickname()) { - KNotifyClient::event("part"); + KNotifyClient::event(mainWindow->winId(), "part"); } } else if(command=="nick") @@ -516,7 +516,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma server->renameNick(sourceNick,trailing); // KNotify events... if(sourceNick != server->getNickname()) { - KNotifyClient::event("nickchange"); + KNotifyClient::event(mainWindow->winId(), "nickchange"); } } else if(command=="topic") @@ -563,7 +563,7 @@ void InputFilter::parseClientCommand(const QString &prefix, const QString &comma parseModes(sourceNick,parameterList); // KNotify events... if(sourceNick != server->getNickname()) { - KNotifyClient::event("mode"); + KNotifyClient::event(mainWindow->winId(), "mode"); } } else if(command=="invite") diff --git a/konversation/inputfilter.h b/konversation/inputfilter.h index 41b33e9..69e36ab 100644 --- a/konversation/inputfilter.h +++ b/konversation/inputfilter.h @@ -24,6 +24,7 @@ */ class Server; +class QWidget; class InputFilter : public QObject { @@ -34,7 +35,7 @@ class InputFilter : public QObject ~InputFilter(); void setServer(Server* newServer); - void parseLine(const QString &line); + void parseLine(const QString &line, QWidget *mainWindow); // use this when the client does automatics, like userhost for finding hostmasks void setAutomaticRequest(bool yes); @@ -57,7 +58,7 @@ class InputFilter : public QObject void unAway(); protected: - void parseClientCommand(const QString &prefix, const QString &command, const QStringList ¶meterList, const QString &trailing); + void parseClientCommand(const QString &prefix, const QString &command, const QStringList ¶meterList, const QString &trailing, QWidget *mainWindow); void parseServerCommand(const QString &prefix, const QString &command, const QStringList ¶meterList, const QString &trailing); void parseModes(const QString &sourceNick, const QStringList ¶meterList); diff --git a/konversation/server.cpp b/konversation/server.cpp index a0fdc49..8f95e3f 100644 --- a/konversation/server.cpp +++ b/konversation/server.cpp @@ -487,7 +487,7 @@ void Server::processIncomingData() inputBuffer=inputBuffer.mid(pos+1); if(rawLog) rawLog->appendRaw(line); - inputFilter.parseLine(line); + inputFilter.parseLine(line, mainWindow); } }