7#include "textautogeneratechatmodel.h"
9using namespace TextAutogenerateText;
10TextAutoGenerateChatModel::TextAutoGenerateChatModel(
QObject *parent)
15TextAutoGenerateChatModel::~TextAutoGenerateChatModel() =
default;
17int TextAutoGenerateChatModel::rowCount(
const QModelIndex &parent)
const
22 return mMessages.count();
25QVariant TextAutoGenerateChatModel::data(
const QModelIndex &index,
int role)
const
27 if (
index.row() < 0 ||
index.row() >= mMessages.count()) {
30 const auto &message = mMessages[
index.row()];
34 return message.htmlGenerated();
36 return message.dateTime();
40 return !message.inProgress();
42 return message.uuid();
47QList<TextAutoGenerateMessage> TextAutoGenerateChatModel::messages()
const
52void TextAutoGenerateChatModel::setMessages(
const QList<TextAutoGenerateMessage> &newMessages)
55 mMessages = newMessages;
59void TextAutoGenerateChatModel::resetConversation()
64 Q_EMIT conversationCleared();
67void TextAutoGenerateChatModel::addMessage(
const TextAutoGenerateMessage &msg)
70 mMessages.append(msg);
74void TextAutoGenerateChatModel::replaceLastMessage(
const TextAutoGenerateMessage &msg)
77 mMessages.removeLast();
78 mMessages.append(msg);
79 auto emitChanged = [
this](
int rowNumber,
const QList<int> &roles = QList<int>()) {
83 emitChanged(mMessages.count() - 1, {MessageRole});
87TextAutoGenerateMessage TextAutoGenerateChatModel::lastMessage()
const
89 if (mMessages.isEmpty()) {
90 return TextAutoGenerateMessage();
92 return mMessages.last();
95void TextAutoGenerateChatModel::removeDiscussion(
const QByteArray &uuid)
100#include "moc_textautogeneratechatmodel.cpp"
void beginInsertRows(const QModelIndex &parent, int first, int last)
QModelIndex createIndex(int row, int column, const void *ptr) const const
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList< int > &roles)
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const const=0
virtual QModelIndex parent(const QModelIndex &index) const const=0
QVariant fromValue(T &&value)