| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #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();
- }
|