diff --git a/gpt4all-chat/chat.cpp b/gpt4all-chat/chat.cpp index fe762648..046e7246 100644 --- a/gpt4all-chat/chat.cpp +++ b/gpt4all-chat/chat.cpp @@ -184,46 +184,44 @@ void Chat::responseStopped() m_tokenSpeed = QString(); emit tokenSpeedChanged(); - if (MySettings::globalInstance()->localDocsShowReferences()) { - const QString chatResponse = response(); - QList references; - QList referencesContext; - int validReferenceNumber = 1; - for (const ResultInfo &info : databaseResults()) { - if (info.file.isEmpty()) - continue; - if (validReferenceNumber == 1) - references.append((!chatResponse.endsWith("\n") ? "\n" : QString()) + QStringLiteral("\n---")); - QString reference; - { - QTextStream stream(&reference); - stream << (validReferenceNumber++) << ". "; - if (!info.title.isEmpty()) - stream << "\"" << info.title << "\". "; - if (!info.author.isEmpty()) - stream << "By " << info.author << ". "; - if (!info.date.isEmpty()) - stream << "Date: " << info.date << ". "; - stream << "In " << info.file << ". "; - if (info.page != -1) - stream << "Page " << info.page << ". "; - if (info.from != -1) { - stream << "Lines " << info.from; - if (info.to != -1) - stream << "-" << info.to; - stream << ". "; - } - stream << "[Context](context://" << validReferenceNumber - 1 << ")"; + const QString chatResponse = response(); + QList references; + QList referencesContext; + int validReferenceNumber = 1; + for (const ResultInfo &info : databaseResults()) { + if (info.file.isEmpty()) + continue; + if (validReferenceNumber == 1) + references.append((!chatResponse.endsWith("\n") ? "\n" : QString()) + QStringLiteral("\n---")); + QString reference; + { + QTextStream stream(&reference); + stream << (validReferenceNumber++) << ". "; + if (!info.title.isEmpty()) + stream << "\"" << info.title << "\". "; + if (!info.author.isEmpty()) + stream << "By " << info.author << ". "; + if (!info.date.isEmpty()) + stream << "Date: " << info.date << ". "; + stream << "In " << info.file << ". "; + if (info.page != -1) + stream << "Page " << info.page << ". "; + if (info.from != -1) { + stream << "Lines " << info.from; + if (info.to != -1) + stream << "-" << info.to; + stream << ". "; } - references.append(reference); - referencesContext.append(info.text); + stream << "[Context](context://" << validReferenceNumber - 1 << ")"; } - - const int index = m_chatModel->count() - 1; - m_chatModel->updateReferences(index, references.join("\n"), referencesContext); - emit responseChanged(); + references.append(reference); + referencesContext.append(info.text); } + const int index = m_chatModel->count() - 1; + m_chatModel->updateReferences(index, references.join("\n"), referencesContext); + emit responseChanged(); + m_responseInProgress = false; m_responseState = Chat::ResponseStopped; emit responseInProgressChanged(); diff --git a/gpt4all-chat/qml/ChatView.qml b/gpt4all-chat/qml/ChatView.qml index bbe8d18b..26893ee6 100644 --- a/gpt4all-chat/qml/ChatView.qml +++ b/gpt4all-chat/qml/ChatView.qml @@ -885,7 +885,7 @@ Rectangle { delegate: TextArea { id: myTextArea - text: value + references + text: value + (MySettings.localDocsShowReferences ? references : "") anchors.horizontalCenter: listView.contentItem.horizontalCenter width: Math.min(1280, listView.contentItem.width) color: {