+
+ if(_validBuffers.contains(id)) {
+ return true;
+ } else {
+ // show Quit messages in Query buffers:
+ if(bufferType() != BufferInfo::QueryBuffer)
+ return false;
+ if(!(messageType & Message::Quit))
+ return false;
+
+ uint messageTimestamp = sourceModel()->data(sourceIdx, MessageModel::TimestampRole).value<QDateTime>().toTime_t();
+ if(_filteredQuitMsgs.contains(messageTimestamp))
+ return false;
+
+ QString quiter = sourceModel()->data(sourceIdx, Qt::DisplayRole).toString().section(' ', 0, 0, QString::SectionSkipEmpty);
+ if(quiter.toLower() == bufferName().toLower()) {
+ MessageFilter *that = const_cast<MessageFilter *>(this);
+ that->_filteredQuitMsgs << messageTimestamp;
+ return true;
+ } else {
+ return false;
+ }
+ }