#include <QDataStream>
-Message::Message(BufferInfo bufferInfo, Type type, QString text, QString sender, quint8 flags)
+Message::Message(const BufferInfo &bufferInfo, Type type, const QString &contents, const QString &sender, Flags flags)
: _timestamp(QDateTime::currentDateTime().toUTC()),
_bufferInfo(bufferInfo),
- _text(text),
+ _contents(contents),
_sender(sender),
_type(type),
_flags(flags)
{
}
-Message::Message(QDateTime ts,BufferInfo bufferInfo, Type type, QString text, QString sender, quint8 flags)
+Message::Message(const QDateTime &ts, const BufferInfo &bufferInfo, Type type, const QString &contents, const QString &sender, Flags flags)
: _timestamp(ts),
_bufferInfo(bufferInfo),
- _text(text),
+ _contents(contents),
_sender(sender),
_type(type),
_flags(flags)
{
}
-void Message::setFlags(quint8 flags) {
+void Message::setFlags(Flags flags) {
_flags = flags;
}
+#ifndef SPUTDEV
QString Message::mircToInternal(QString mirc) {
mirc.replace('%', "%%"); // escape % just to be sure
mirc.replace('\x02', "%B");
QString user = userFromMask(sender());
QString host = hostFromMask(sender());
QString nick = nickFromMask(sender());
- QString txt = mircToInternal(text());
+ QString txt = mircToInternal(contents());
QString bufferName = bufferInfo().bufferName();
_formattedTimestamp = tr("%DT[%1]").arg(timestamp().toLocalTime().toString("hh:mm:ss"));
switch(type()) {
case Message::Plain:
s = tr("%DS<%1>").arg(nick); t = tr("%D0%1").arg(txt); break;
+ case Message::Notice:
+ s = tr("%Dn[%1]").arg(nick); t = tr("%Dn%1").arg(txt); break;
case Message::Server:
s = tr("%Ds*"); t = tr("%Ds%1").arg(txt); break;
case Message::Error:
break;
case Message::Nick:
s = tr("%Dr<->");
- if(nick == text()) t = tr("%DrYou are now known as %DN%1%DN").arg(txt);
+ if(nick == contents()) t = tr("%DrYou are now known as %DN%1%DN").arg(txt);
else t = tr("%Dr%DN%1%DN is now known as %DN%2%DN").arg(nick, txt);
break;
case Message::Mode:
s = tr("%Dm***");
- if(nick.isEmpty()) t = tr("%DmUser mode: %DM%1%DM").arg(text());
+ if(nick.isEmpty()) t = tr("%DmUser mode: %DM%1%DM").arg(contents());
else t = tr("%DmMode %DM%1%DM by %DN%2%DN").arg(txt, nick);
break;
case Message::Action:
format();
return _formattedText;
}
-
-/*
-QString Message::formattedToHtml(const QString &f) {
-
-
- return f;
-}
-*/
+#endif /* SPUTDEV */
QDataStream &operator<<(QDataStream &out, const Message &msg) {
- out << (quint32)msg.timestamp().toTime_t() << (quint32)msg.type() << (quint8)msg.flags()
- << msg.bufferInfo() << msg.sender().toUtf8() << msg.text().toUtf8();
+ out << msg.msgId() << (quint32)msg.timestamp().toTime_t() << (quint32)msg.type() << (quint8)msg.flags()
+ << msg.bufferInfo() << msg.sender().toUtf8() << msg.contents().toUtf8();
return out;
}
quint32 ts;
QByteArray s, m;
BufferInfo buf;
- in >> ts >> t >> f >> buf >> s >> m;
+ in >> msg._msgId >> ts >> t >> f >> buf >> s >> m;
msg._type = (Message::Type)t;
- msg._flags = (quint8)f;
+ msg._flags = (Message::Flags)f;
msg._bufferInfo = buf;
msg._timestamp = QDateTime::fromTime_t(ts);
msg._sender = QString::fromUtf8(s);
- msg._text = QString::fromUtf8(m);
+ msg._contents = QString::fromUtf8(m);
return in;
}