if (e->testFlag(EventManager::Netsplit))
return;
- displayMsg(e, Message::Join, e->params()[0], e->prefix(), e->params()[0]);
+ Message::Flag msgFlags = Message::Flag::None;
+ if (e->testFlag(EventManager::Self)) {
+ // Mark the message as Self
+ msgFlags = Message::Self;
+ }
+
+ displayMsg(e, Message::Join, e->params()[0], e->prefix(), e->params()[0], msgFlags);
}
if (e->params().count() > 2)
msg += " " + e->params().at(2);
- displayMsg(e, Message::Kick, msg, e->prefix(), channel);
+ Message::Flag msgFlags = Message::Flag::None;
+ if (e->testFlag(EventManager::Self)) {
+ // Mark the message as Self
+ msgFlags = Message::Self;
+ }
+
+ displayMsg(e, Message::Kick, msg, e->prefix(), channel, msgFlags);
}
}
else {
// User Modes
// FIXME: redirect
- displayMsg(e, Message::Mode, e->params().join(" "), e->prefix());
+
+ Message::Flag msgFlags = Message::Flag::None;
+ if (e->testFlag(EventManager::Self)) {
+ // Mark the message as Self
+ msgFlags = Message::Self;
+ }
+ displayMsg(e, Message::Mode, e->params().join(" "), e->prefix(), QString(), msgFlags);
}
}
}
QString newnick = e->params().at(0);
- QString oldnick = ircuser->nick();
- QString sender = e->network()->isMyNick(oldnick) ? newnick : e->prefix();
- foreach(const QString &channel, ircuser->channels())
- displayMsg(e, Message::Nick, newnick, sender, channel);
+ QString sender;
+ Message::Flag msgFlags = Message::Flag::None;
+ if (e->testFlag(EventManager::Self)) {
+ // Treat the sender as the new nickname, mark the message as Self
+ sender = newnick;
+ msgFlags = Message::Self;
+ } else {
+ // Take the sender from the event prefix, don't mark the message
+ sender = e->prefix();
+ }
+
+ // Announce to all channels the IrcUser is in
+ foreach(const QString &channel, ircuser->channels()) {
+ displayMsg(e, Message::Nick, newnick, sender, channel, msgFlags);
+ }
}
QString channel = e->params().at(0);
QString msg = e->params().count() > 1 ? e->params().at(1) : QString();
- displayMsg(e, Message::Part, msg, e->prefix(), channel);
+
+ Message::Flag msgFlags = Message::Flag::None;
+ if (e->testFlag(EventManager::Self)) {
+ // Mark the message as Self
+ msgFlags = Message::Self;
+ }
+
+ displayMsg(e, Message::Part, msg, e->prefix(), channel, msgFlags);
}
if (!ircuser)
return;
- foreach(const QString &channel, ircuser->channels())
- displayMsg(e, Message::Quit, e->params().count() ? e->params().first() : QString(), e->prefix(), channel);
+
+ Message::Flag msgFlags = Message::Flag::None;
+ if (e->testFlag(EventManager::Self)) {
+ // Mark the message as Self
+ msgFlags = Message::Self;
+ }
+
+ // Announce to all channels the IrcUser is in
+ foreach(const QString &channel, ircuser->channels()) {
+ displayMsg(e, Message::Quit, e->params().count() ? e->params().first() : QString(),
+ e->prefix(), channel, msgFlags);
+ }
}
void EventStringifier::processIrcEventTopic(IrcEvent *e)
{
+ Message::Flag msgFlags = Message::Flag::None;
+ if (e->testFlag(EventManager::Self)) {
+ // Mark the message as Self
+ msgFlags = Message::Self;
+ }
+
displayMsg(e, Message::Topic, tr("%1 has changed topic for %2 to: \"%3\"")
- .arg(e->nick(), e->params().at(0), e->params().at(1)), QString(), e->params().at(0));
+ .arg(e->nick(), e->params().at(0), e->params().at(1)), QString(), e->params().at(0),
+ msgFlags);
+}
+
+void EventStringifier::processIrcEventError(IrcEvent *e)
+{
+ // Need an error reason
+ if (!checkParamCount(e, 1))
+ return;
+
+ displayMsg(e, Message::Server, tr("Error from server: ") + e->params().join(""));
}
void EventStringifier::processIrcEventWallops(IrcEvent *e)
}
+/* RPL_WHOSPCRPL: "<yournick> <num> #<channel> ~<ident> <host> <servname> <nick>
+ ("H"/ "G") <account> :<realname>"
+Could be anything else, though. User-specified fields.
+See http://faerion.sourceforge.net/doc/irc/whox.var */
+void EventStringifier::processIrcEvent354(IrcEvent *e)
+{
+ displayMsg(e, Message::Server, tr("[WhoX] %1").arg(e->params().join(" ")));
+}
+
+
/* RPL_ENDOFWHOWAS - "<nick> :End of WHOWAS" */
void EventStringifier::processIrcEvent369(IrcEvent *e)
{
return;
if (e->testFlag(EventManager::Self)) {
- displayMsg(e, Message::Action, tr("sending CTCP-%1 request to %2").arg(e->ctcpCmd(), e->target()), e->network()->myNick());
+ displayMsg(e, Message::Action,
+ tr("sending CTCP-%1 request to %2").arg(e->ctcpCmd(), e->target()),
+ e->network()->myNick(), QString(), Message::Flag::Self);
return;
}