<< msgTypeQss("error", "ErrorMsg", s)
<< msgTypeQss("daychange", "ServerMsg", s)
<< msgTypeQss("topic", "CommandMsg", s)
+ << msgTypeQss("netsplitJoin", "CommandMsg", s)
+ << msgTypeQss("netsplitQuit", "CommandMsg", s)
<< "\n";
}
fmtType |= UiStyle::DayChangeMsg;
else if(msgType == "topic")
fmtType |= UiStyle::TopicMsg;
+ else if(msgType == "netsplitJoin")
+ fmtType |= UiStyle::NetsplitJoinMsg;
+ else if(msgType == "netsplitQuit")
+ fmtType |= UiStyle::NetsplitQuitMsg;
else {
qWarning() << Q_FUNC_INFO << tr("Invalid message type in %1").arg(decl);
}
return DayChangeMsg;
case Message::Topic:
return TopicMsg;
+ case Message::NetsplitJoin:
+ return NetsplitJoinMsg;
+ case Message::NetsplitQuit:
+ return NetsplitQuitMsg;
}
//Q_ASSERT(false); // we need to handle all message types
qWarning() << Q_FUNC_INFO << "Unknown message type:" << msgType;
QString txt = UiStyle::mircToInternal(contents());
QString bufferName = bufferInfo().bufferName();
bufferName.replace('%', "%%"); // well, you _can_ have a % in a buffername apparently... -_-
+ const int maxNetsplitNicks = 15;
QString t;
switch(type()) {
case Message::Topic:
//: Topic Message
t = tr("%1").arg(txt); break;
+ case Message::NetsplitJoin: {
+ QStringList users = txt.split(":");
+ QStringList servers = users.takeLast().split(" ");
+
+ for(int i = 0; i < users.count() && i < maxNetsplitNicks; i++)
+ users[i] = nickFromMask(users.at(i));
+
+ t = tr("Netsplit between %DH%1%DH and %DH%2%DH ended. Users joined: ").arg(servers.at(0),servers.at(1));
+ if(users.count() <= maxNetsplitNicks)
+ t.append(QString("%DN%1%DN").arg(users.join(", ")));
+ else
+ t.append(tr("%DN%1%DN (%2 more)").arg(static_cast<QStringList>(users.mid(0, maxNetsplitNicks)).join(", ")).arg(users.count() - maxNetsplitNicks));
+ }
+ break;
+ case Message::NetsplitQuit: {
+ QStringList users = txt.split(":");
+ QStringList servers = users.takeLast().split(" ");
+
+ for(int i = 0; i < users.count() && i < maxNetsplitNicks; i++)
+ users[i] = nickFromMask(users.at(i));
+
+ t = tr("Netsplit between %DH%1%DH and %DH%2%DH. Users quit: ").arg(servers.at(0),servers.at(1));
+
+ if(users.count() <= maxNetsplitNicks)
+ t.append(QString("%DN%1%DN").arg(users.join(", ")));
+ else
+ t.append(tr("%DN%1%DN (%2 more)").arg(static_cast<QStringList>(users.mid(0, maxNetsplitNicks)).join(", ")).arg(users.count() - maxNetsplitNicks));
+ }
+ break;
default:
t = tr("[%1]").arg(txt);
}
return tr("-"); break;
case Message::Topic:
return tr("*"); break;
+ case Message::NetsplitJoin:
+ return tr("=>"); break;
+ case Message::NetsplitQuit:
+ return tr("<="); break;
default:
return tr("%1").arg(plainSender());
}