Don't block the GUI when reloading via combobox.

This commit is contained in:
Adam Treat 2023-05-02 15:02:25 -04:00
parent 48837a62fa
commit 21dc522200
3 changed files with 5 additions and 3 deletions

View File

@ -25,18 +25,19 @@ Chat::Chat(QObject *parent)
connect(this, &Chat::unloadRequested, m_llmodel, &ChatLLM::unload, Qt::QueuedConnection);
connect(this, &Chat::reloadRequested, m_llmodel, &ChatLLM::reload, Qt::QueuedConnection);
connect(this, &Chat::generateNameRequested, m_llmodel, &ChatLLM::generateName, Qt::QueuedConnection);
connect(this, &Chat::setThreadCountRequested, m_llmodel, &ChatLLM::setThreadCount, Qt::QueuedConnection);
// The following are blocking operations and will block the gui thread, therefore must be fast
// to respond to
connect(this, &Chat::regenerateResponseRequested, m_llmodel, &ChatLLM::regenerateResponse, Qt::BlockingQueuedConnection);
connect(this, &Chat::resetResponseRequested, m_llmodel, &ChatLLM::resetResponse, Qt::BlockingQueuedConnection);
connect(this, &Chat::resetContextRequested, m_llmodel, &ChatLLM::resetContext, Qt::BlockingQueuedConnection);
connect(this, &Chat::setThreadCountRequested, m_llmodel, &ChatLLM::setThreadCount, Qt::QueuedConnection);
}
void Chat::reset()
{
stopGenerating();
qDebug() << "reset blocking";
emit resetContextRequested(); // blocking queued connection
m_id = Network::globalInstance()->generateUniqueId();
emit idChanged();

View File

@ -171,8 +171,8 @@ Window {
onActivated: {
currentChat.stopGenerating()
currentChat.modelName = comboBox.currentText
currentChat.reset();
currentChat.modelName = comboBox.currentText
}
}
}

View File

@ -343,7 +343,8 @@ Drawer {
}
onClicked: {
downloadClicked() }
downloadClicked()
}
}
}
}