#include "chatmessagemodel.h" ChatMessageModel::ChatMessageModel(QObject *parent) : QAbstractListModel(parent) {} int ChatMessageModel::rowCount(const QModelIndex &parent) const { if (parent.isValid()) return 0; return m_messages.size(); } QVariant ChatMessageModel::data(const QModelIndex &index, int role) const { if (!index.isValid()) return QVariant(); const ChatMessage &message = m_messages[index.row()]; if (role == Qt::DisplayRole) return QVariant::fromValue(message); return QVariant(); } void ChatMessageModel::addMessage(const ChatMessage &message) { beginInsertRows(QModelIndex(), m_messages.size(), m_messages.size()); m_messages.append(message); endInsertRows(); } void ChatMessageModel::clear() { beginResetModel(); m_messages.clear(); endResetModel(); }