добавил обновление списков в реальном времени
исправил поиск пользователя убрал лишние qDebug
This commit is contained in:
+69
-15
@@ -8,45 +8,99 @@ NeuralTemplateManager::NeuralTemplateManager(QObject *parent)
|
||||
{
|
||||
}
|
||||
|
||||
void NeuralTemplateManager::addTemplate(const QString &name, const QString &templateText)
|
||||
bool NeuralTemplateManager::addTemplate(const QString &name, const QString &templateText)
|
||||
{
|
||||
// Проверяем, нет ли уже шаблона с таким именем
|
||||
for (int i = 0; i < m_templates.size(); ++i) {
|
||||
if (m_templates[i].name.compare(name, Qt::CaseInsensitive) == 0) {
|
||||
m_templates[i].templateText = templateText;
|
||||
return;
|
||||
}
|
||||
if (name.isEmpty()) {
|
||||
qWarning() << "Имя шаблона не может быть пустым";
|
||||
return false;
|
||||
}
|
||||
m_templates.append({name, templateText});
|
||||
|
||||
if (containsTemplate(name)) {
|
||||
qWarning() << "Шаблон с именем" << name << "уже существует";
|
||||
return false;
|
||||
}
|
||||
|
||||
templates.append(NeuralTemplate(name, templateText));
|
||||
// emit templateAdded(name, templateText);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
QString NeuralTemplateManager::getTemplateText(const QString &name) const
|
||||
{
|
||||
for (const Template &t : m_templates) {
|
||||
if (t.name.compare(name, Qt::CaseInsensitive) == 0) {
|
||||
return t.templateText;
|
||||
int index = findTemplateIndex(name);
|
||||
if (index == -1) {
|
||||
return QString();
|
||||
}
|
||||
return templates[index].templateText;
|
||||
}
|
||||
|
||||
bool NeuralTemplateManager::removeTemplate(const QString& name)
|
||||
{
|
||||
int index = findTemplateIndex(name);
|
||||
|
||||
if (index == -1) {
|
||||
qWarning() << "Шаблон с именем" << name << "не найден";
|
||||
return false;
|
||||
}
|
||||
|
||||
templates.remove(index);
|
||||
// emit templateRemoved(name);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool NeuralTemplateManager::updateTemplate(const QString& oldName, const QString& newName, const QString& newTemplateText)
|
||||
{
|
||||
int index = findTemplateIndex(oldName);
|
||||
|
||||
if (index == -1) {
|
||||
qWarning() << "Шаблон с именем" << oldName << "не найден";
|
||||
return false;
|
||||
}
|
||||
|
||||
// Проверяем, не используется ли новое имя другим шаблоном
|
||||
if (oldName != newName && containsTemplate(newName)) {
|
||||
qWarning() << "Шаблон с именем" << newName << "уже существует";
|
||||
return false;
|
||||
}
|
||||
|
||||
templates[index].name = newName;
|
||||
templates[index].templateText = newTemplateText;
|
||||
|
||||
// emit templateUpdated(oldName, newName, newTemplateText);
|
||||
return true;
|
||||
}
|
||||
|
||||
int NeuralTemplateManager::findTemplateIndex(const QString& name) const
|
||||
{
|
||||
for (int i = 0; i < templates.size(); ++i) {
|
||||
if (templates[i].name == name) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return QString();
|
||||
return -1;
|
||||
}
|
||||
|
||||
bool NeuralTemplateManager::containsTemplate(const QString& name) const
|
||||
{
|
||||
return findTemplateIndex(name) != -1;
|
||||
}
|
||||
|
||||
void NeuralTemplateManager::clear()
|
||||
{
|
||||
m_templates.clear();
|
||||
templates.clear();
|
||||
}
|
||||
|
||||
void NeuralTemplateManager::loadFromTableWidget(QTableWidget *table)
|
||||
{
|
||||
clear();
|
||||
if (!table) return;
|
||||
qDebug()<< "Table Found";
|
||||
for (int row = 0; row < table->rowCount(); ++row) {
|
||||
QTableWidgetItem *nameItem = table->item(row, 0);
|
||||
QTableWidgetItem *templateItem = table->item(row, 1);
|
||||
if (nameItem && templateItem) {
|
||||
QString name = nameItem->text().trimmed();
|
||||
QString templateText = templateItem->text().trimmed();
|
||||
qDebug()<< "Template add " << name;
|
||||
if (!name.isEmpty() && !templateText.isEmpty()) {
|
||||
addTemplate(name, templateText);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user