добавил обновление списков в реальном времени

исправил поиск пользователя
убрал лишние qDebug
This commit is contained in:
2026-02-09 22:24:24 +03:00
parent cbb875f3f8
commit 39f0c447c1
11 changed files with 440 additions and 189 deletions
+69 -68
View File
@@ -162,11 +162,6 @@ uGeneral::uGeneral(QWidget *parent)
// ============================================================================
setupAuthHandlers();
// ============================================================================
// ИНИЦИАЛИЗАЦИЯ НЕЙРОННОЙ СЕТИ
// ============================================================================
initializeNeuralNetwork();
loadEmoties();
// Настройка таблицы веб-серверов
@@ -416,9 +411,7 @@ void uGeneral::initializeManagers()
// Менеджер случайных ответов (групп)
m_randomResponses = new RandomResponses(this);
m_neuralTemplateManager = new NeuralTemplateManager(this);
QTableWidget* table = ui->widget_3->tableWidget();
m_neuralTemplateManager->loadFromTableWidget(table);
// Менеджер нейросети (если есть)
nnManager = new NeuralNetworkManager(this);
// Настройка нейросети (пример)
@@ -427,32 +420,38 @@ void uGeneral::initializeManagers()
// GigaChat
nnManager->setCurrentNetworkType(NeuralNetworkManager::GigaChat);
nnManager->setGigaChatCredentials(ui->edtAIP1->text(), ui->edtAIP2->text());
qDebug() << "GigaChat";
}
else if (ui->rbDS->isChecked()) {
// DeepSeek
nnManager->setCurrentNetworkType(NeuralNetworkManager::DeepSeek);
nnManager->setApiKey(NeuralNetworkManager::DeepSeek, ui->edtAIP1->text());
qDebug() << "DeepSeek";
}
else if (ui->rbCG->isChecked()) {
// ChatGPT
nnManager->setCurrentNetworkType(NeuralNetworkManager::ChatGPT);
nnManager->setApiKey(NeuralNetworkManager::ChatGPT, ui->edtAIP1->text());
qDebug() << "ChatGPT";
}
else if (ui->RBCustom->isChecked()) {
// Ollama
nnManager->setCurrentNetworkType(NeuralNetworkManager::Ollama);
nnManager->setApiKey(NeuralNetworkManager::Ollama, ui->edtAIP1->text());
nnManager->setOllamaUrl(ui->edtAIP2->text());
qDebug() << "Ollama";
}
m_SoundFiles = new MediaFileManager();
ui->widget->setSoundManager(m_SoundFiles);
ui->widget->setManagerType(FSingleGrid::SoundManager);
ui->widget->setDatabase(db);
m_TextFiles = new MediaFileManager();
ui->widget_2->setTextManager(m_TextFiles); // Нужно создать m_TextFiles
ui->widget_2->setManagerType(FSingleGrid::TextManager);
ui->widget_2->setDatabase(db);
m_neuralTemplateManager = new NeuralTemplateManager(this);
ui->widget_3->setTemplateManager(m_neuralTemplateManager);
ui->widget_3->setManagerType(FSingleGrid::TemplateManager);
ui->widget_3->setDatabase(db);
// Менеджер команд
m_commandProcessor = new CommandProcessor(this);
@@ -469,7 +468,10 @@ void uGeneral::initializeManagers()
// Загрузка звуков
loadSoundsFromDatabase();
// Загрузка текстов
loadTextFromDatabase();
// Загрузка шаблонов
loadTemplatesFromDatabase();
// Настройка контекста для обработчика команд
CommandProcessor::Context context;
@@ -531,6 +533,50 @@ void uGeneral::loadSoundsFromDatabase()
}
}
}
/**
* @brief Загрузка текстов
*/
void uGeneral::loadTextFromDatabase()
{
if (!db || !m_TextFiles) return;
QTableWidget* table = ui->widget_2->tableWidget();
if (!table) return;
for (int row = 0; row < table->rowCount(); ++row) {
QTableWidgetItem *nameItem = table->item(row, 0);
QTableWidgetItem *fileItem = table->item(row, 1);
if (nameItem && fileItem) {
QString name = nameItem->text().trimmed();
QString file = fileItem->text().trimmed();
if (!name.isEmpty() && !file.isEmpty()) {
m_TextFiles->addFile(name, file);
}
}
}
}
/**
* @brief Загрузка шаблонов
*/
void uGeneral::loadTemplatesFromDatabase()
{
if (!db || !m_neuralTemplateManager) return;
QTableWidget* table = ui->widget_3->tableWidget();
if (!table) return;
for (int row = 0; row < table->rowCount(); ++row) {
QTableWidgetItem *nameItem = table->item(row, 0);
QTableWidgetItem *fileItem = table->item(row, 1);
if (nameItem && fileItem) {
QString name = nameItem->text().trimmed();
QString file = fileItem->text().trimmed();
if (!name.isEmpty() && !file.isEmpty()) {
m_neuralTemplateManager->addTemplate(name, file);
}
}
}
}
/**
* @brief Загрузка случайных диапазонов из таблицы sgRandomInt в RandomManager
*/
@@ -796,19 +842,6 @@ void uGeneral::setupAuthHandlers()
});
}
/**
* @brief Инициализация нейронной сети
*/
void uGeneral::initializeNeuralNetwork()
{
nnManager = new NeuralNetworkManager(this);
// Подключение сигналов менеджера нейронной сети
connect(nnManager, &NeuralNetworkManager::responseReceived,
this, &uGeneral::onNeuralResponse);
connect(nnManager, &NeuralNetworkManager::errorOccurred,
this, &uGeneral::onNeuralError);
}
uGeneral::~uGeneral()
{
@@ -1174,20 +1207,11 @@ void uGeneral::sendRequestToAI(const QString &q)
nnManager->sendMessage(q, type);
}
void uGeneral::onNeuralResponse(const QString &response) {
// Отправляем ответ в Twitch чат
qDebug() << "Ответ нейросети:" << response;
}
void uGeneral::onNeuralError(const QString &error) {
LogManager::instance()->error("General", "onNeuralError", error);
}
void uGeneral::onSoundGridDoubleClicked()
{
QTextCursor cursor = ui->textBrowser->textCursor();
cursor.insertText("||" + ui->widget->tableWidget()->item(ui->widget->tableWidget()->currentRow(), 0)->text() + "||");
}
void uGeneral::onFilesGridDoubleClicked()
@@ -1837,28 +1861,6 @@ void uGeneral::on_btnNotifyOpenSub_clicked()
ui->edtNotifyFileNameSub->setText(sourceFile);
}
void uGeneral::onStatus(const QString &statusText, int statusCode)
{
qDebug() << "[STATUS]" << statusCode << statusText;
}
void uGeneral::onDisconnected(const QString &reason)
{
qDebug() << "[DISCONNECTED]" << reason;
}
void uGeneral::onJoined(const QString &nickname)
{
qDebug() << "[JOINED]" << nickname << "joined";
}
void uGeneral::onMessage(const QString &message)
{
qDebug() << "[MESSAGE]" << message;
}
void uGeneral::playNotify(const bool &isMod, const bool &isVip, const bool &isSub)
{
// Проверяем модератора (самый высокий приоритет)
@@ -2362,6 +2364,8 @@ void uGeneral::on_btnRandomAdd_clicked()
// Очищаем поля ввода
ui->edtRandomRespons->clear();
m_randomResponses->addResponse(groupName, response);
}
@@ -2369,6 +2373,7 @@ void uGeneral::on_btnRandomDel_clicked()
{
db->DeleteResponse(ui->lbRandomGroup->currentItem()->text(), ui->lbRandomRespons->currentItem()->text());
db->LoadRandomResponses(ui->lbRandomGroup->currentItem()->text(), ui->lbRandomRespons);
m_randomResponses->removeResponse(ui->lbRandomGroup->currentItem()->text(), ui->lbRandomRespons->currentItem()->text());
}
@@ -2376,6 +2381,7 @@ void uGeneral::on_btnRmGroup_clicked()
{
db->DeleteGroup(ui->lbRandomGroup->currentItem()->text());
db->LoadRandomGroups(ui->lbRandomGroup);
m_randomResponses->removeGroup(ui->lbRandomGroup->currentItem()->text());
}
void uGeneral::on_btnGetDateFollow_clicked()
@@ -2443,7 +2449,7 @@ void uGeneral::on_btnAddCommand_clicked()
// Сохраняем в БД
db->SaveTableWidget(ui->sgCommands);
m_commandProcessor->addCommand(name, response);
LogManager::instance()->info("uGeneral", "on_btnAddCommand_clicked",
QString("Добавлена команда: %1").arg(name));
}
@@ -2463,7 +2469,7 @@ void uGeneral::on_btnRmCommand_clicked()
ui->sgCommands->removeRow(row);
db->SaveTableWidget(ui->sgCommands);
m_commandProcessor->deleteCommand(commandName);
LogManager::instance()->info("uGeneral", "on_btnRmCommand_clicked",
QString("Удалена команда: %1").arg(commandName));
}
@@ -2486,11 +2492,11 @@ void uGeneral::on_btnEdtCommand_clicked()
QMessageBox::warning(this, "Внимание", "Введите новое имя команды!");
return;
}
QString oldCommand = ui->sgCommands->item(row, 0)->text();
ui->sgCommands->item(row, 0)->setText(newName);
ui->sgCommands->item(row, 1)->setText(response);
db->SaveTableWidget(ui->sgCommands);
m_commandProcessor->editCommand(oldCommand, newName, response);
LogManager::instance()->info("uGeneral", "on_btnEdtCommand_clicked",
QString("Отредактирована команда в строке %1").arg(row));
}
@@ -2507,7 +2513,6 @@ void uGeneral::loadQssFiles()
QDir systemStylesDir(systemStylesPath);
if (systemStylesDir.exists()) {
qDebug() << "Системные стили из:" << systemStylesPath;
loadStylesFromDirectory(systemStylesDir, "Системные");
} else {
qWarning() << "Папка системных стилей не найдена:" << systemStylesPath;
@@ -2521,7 +2526,6 @@ void uGeneral::loadQssFiles()
QDir userStylesDir(userStylesPath);
if (userStylesDir.exists()) {
qDebug() << "Пользовательские стили из:" << userStylesPath;
loadStylesFromDirectory(userStylesDir, "Пользовательские");
} else {
qWarning() << "Папка пользовательских стилей не найдена:" << userStylesPath;
@@ -2537,8 +2541,6 @@ void uGeneral::loadQssFiles()
qWarning() << "Темы не найдены, создаем базовые";
}
qDebug() << "Загружено тем:" << ui->cbTheme->count() - 1; // Минус "Без темы"
}
@@ -2954,7 +2956,6 @@ void uGeneral::sendMessageToServer(HttpServerChat *server, const QString &nickna
style.timeMsg = server->getMessageTimeout();
style.bColor = server->getBackgroundColor();
style.transparency = server->getTransparency();
qDebug() << "sendMessageToServer";
// Убираем HTML теги из обычного текста для совместимости
// (если сервер их не поддерживает, можно оставить только для ника)
style.nick = nickname; // Ник уже с цветом