-ChatlineModelItem::ChatlineModelItem(const Message &msg) : MessageModelItem(msg) {
- _msg = QtUi::style()->styleMessage(msg);
+// ****************************************
+// the actual ChatLineModelItem
+// ****************************************
+ChatLineModelItem::ChatLineModelItem(const Message &msg)
+ : MessageModelItem(),
+ _styledMsg(msg)
+{
+ if(!msg.sender().contains('!'))
+ _styledMsg.setFlags(msg.flags() |= Message::ServerMsg);
+}
+
+QVariant ChatLineModelItem::data(int column, int role) const {
+ if(role == ChatLineModel::MsgLabelRole)
+ return messageLabel();
+
+ QVariant variant;
+ MessageModel::ColumnType col = (MessageModel::ColumnType)column;
+ switch(col) {
+ case ChatLineModel::TimestampColumn:
+ variant = timestampData(role);
+ break;
+ case ChatLineModel::SenderColumn:
+ variant = senderData(role);
+ break;
+ case ChatLineModel::ContentsColumn:
+ variant = contentsData(role);
+ break;
+ default:
+ break;
+ }
+ if(!variant.isValid())
+ return MessageModelItem::data(column, role);
+ return variant;
+}