async parsing + tex caching
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
#include "session.hpp"
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
namespace ZShell::llm {
|
||||
|
||||
ChatMessageModel::ChatMessageModel(ChatSession* session, QObject* parent)
|
||||
@@ -98,7 +100,12 @@ void ChatMessageModel::clear() {
|
||||
|
||||
void ChatMessageModel::loadMessages(QList<ChatMessage*> messages) {
|
||||
beginResetModel();
|
||||
qDeleteAll(m_messages);
|
||||
// The new list may share rows with the current one (live rows kept
|
||||
// in front of fetched rows); delete only what is truly gone.
|
||||
for (ChatMessage* message : m_messages)
|
||||
if (std::find(messages.begin(), messages.end(), message)
|
||||
== messages.end())
|
||||
delete message;
|
||||
m_messages = std::move(messages);
|
||||
endResetModel();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user