projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #168 from esainane/irssi-msg-escape
[quassel.git]
/
src
/
core
/
ircparser.cpp
diff --git
a/src/core/ircparser.cpp
b/src/core/ircparser.cpp
index
9e8461f
..
681346c
100644
(file)
--- a/
src/core/ircparser.cpp
+++ b/
src/core/ircparser.cpp
@@
-180,6
+180,7
@@
void IrcParser::processNetworkIncoming(NetworkDataEvent *e)
if (checkParamCount(cmd, params, 1)) {
QString senderNick = nickFromMask(prefix);
if (checkParamCount(cmd, params, 1)) {
QString senderNick = nickFromMask(prefix);
+ net->updateNickFromMask(prefix);
QByteArray msg = params.count() < 2 ? QByteArray() : params.at(1);
QStringList targets = net->serverDecode(params.at(0)).split(',', QString::SkipEmptyParts);
QByteArray msg = params.count() < 2 ? QByteArray() : params.at(1);
QStringList targets = net->serverDecode(params.at(0)).split(',', QString::SkipEmptyParts);
@@
-226,8
+227,10
@@
void IrcParser::processNetworkIncoming(NetworkDataEvent *e)
else {
if (!target.isEmpty() && net->prefixes().contains(target.at(0)))
target = target.mid(1);
else {
if (!target.isEmpty() && net->prefixes().contains(target.at(0)))
target = target.mid(1);
- if (!net->isChannelName(target))
+ if (!net->isChannelName(target))
{
target = nickFromMask(prefix);
target = nickFromMask(prefix);
+ net->updateNickFromMask(prefix);
+ }
}
#ifdef HAVE_QCA2
}
#ifdef HAVE_QCA2
@@
-256,12
+259,14
@@
void IrcParser::processNetworkIncoming(NetworkDataEvent *e)
QString channel = net->serverDecode(params.at(0));
decParams << channel;
decParams << net->userDecode(nickFromMask(prefix), params.at(1));
QString channel = net->serverDecode(params.at(0));
decParams << channel;
decParams << net->userDecode(nickFromMask(prefix), params.at(1));
+ net->updateNickFromMask(prefix);
}
break;
case EventManager::IrcEventQuit:
if (params.count() >= 1) {
decParams << net->userDecode(nickFromMask(prefix), params.at(0));
}
break;
case EventManager::IrcEventQuit:
if (params.count() >= 1) {
decParams << net->userDecode(nickFromMask(prefix), params.at(0));
+ net->updateNickFromMask(prefix);
}
break;
}
break;
@@
-273,6
+278,15
@@
void IrcParser::processNetworkIncoming(NetworkDataEvent *e)
}
break;
}
break;
+ case EventManager::IrcEventAway:
+ {
+ QString nick = nickFromMask(prefix);
+ decParams << nick;
+ decParams << (params.count() >= 1 ? net->userDecode(nick, params.at(0)) : QString());
+ net->updateNickFromMask(prefix);
+ }
+ break;
+
case EventManager::IrcEventNumeric:
switch (num) {
case 301: /* RPL_AWAY */
case EventManager::IrcEventNumeric:
switch (num) {
case 301: /* RPL_AWAY */