X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatmonitorfilter.cpp;h=ef68a9cd21f920ed77006c10cf0320c14b596580;hb=fd90abd3f3baa4fc98fa7e3df0e22e9bd3d77d95;hp=d11378d1ff971e29433a77704f9c4dde0b741694;hpb=9d52e49424afb60c2f28073051c1dbf25f47adec;p=quassel.git diff --git a/src/qtui/chatmonitorfilter.cpp b/src/qtui/chatmonitorfilter.cpp index d11378d1..ef68a9cd 100644 --- a/src/qtui/chatmonitorfilter.cpp +++ b/src/qtui/chatmonitorfilter.cpp @@ -54,6 +54,8 @@ QVariant ChatMonitorFilter::data(const QModelIndex &index, int role) const { qDebug() << "ChatMonitorFilter::data(): chatline belongs to an invalid buffer!"; return QVariant(); } + + QModelIndex source_index = mapToSource(index); QStringList fields; if(showFields_ & NetworkField) { @@ -62,8 +64,14 @@ QVariant ChatMonitorFilter::data(const QModelIndex &index, int role) const { if(showFields_ & BufferField) { fields << Client::networkModel()->bufferName(bufid); } - fields << MessageFilter::data(index, role).toString().mid(1); - return QString("<%1").arg(fields.join(":")); + + Message::Type messageType = (Message::Type)sourceModel()->data(source_index, MessageModel::TypeRole).toInt(); + if(messageType & (Message::Plain | Message::Notice)) { + QString sender = MessageFilter::data(index, role).toString(); + // we have to strip leading and traling < / > + fields << sender.mid(1, sender.count() - 2); + } + return QString("<%1>").arg(fields.join(":")); } void ChatMonitorFilter::addShowField(int field) {