добавил обновление списков в реальном времени
исправил поиск пользователя убрал лишние qDebug
This commit is contained in:
+69
-68
@@ -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; // Ник уже с цветом
|
||||
|
||||
Reference in New Issue
Block a user