DiagramDesigner/diagramCavas/source/projectDiagramNameInput.cpp

53 lines
1.3 KiB
C++
Raw Permalink Normal View History

2025-06-27 19:17:04 +08:00
#include <QPushButton>
#include "projectDiagramNameInput.h"
#include "dataBase.h"
#include "ui_projectDiagramNameInput.h"
ProjectDiagramNameInput::ProjectDiagramNameInput(QWidget *parent)
: QDialog(parent)
,ui(new Ui::projectDiagramNameInput)
,_model(nullptr)
{
ui->setupUi(this);
this->setWindowFlags(Qt::FramelessWindowHint | windowFlags());
initial();
}
ProjectDiagramNameInput::~ProjectDiagramNameInput()
{
}
void ProjectDiagramNameInput::initial()
{
connect(ui->btn_ok,&QPushButton::clicked,this,&ProjectDiagramNameInput::onOkClicked);
connect(ui->btn_cancel,&QPushButton::clicked,this,&ProjectDiagramNameInput::onCancelClicked);
connect(ui->le_name,&QLineEdit::textEdited,this,&ProjectDiagramNameInput::onNameEdited);
}
void ProjectDiagramNameInput::onOkClicked()
{
2025-07-04 18:47:49 +08:00
if(DataBase::GetInstance()->getPageIdByName(ui->le_name->text()) == -1)
2025-06-27 19:17:04 +08:00
{
2025-07-04 18:47:49 +08:00
emit onGenerateClicked(ui->le_name->text());
2025-06-27 19:17:04 +08:00
hide();
}
}
void ProjectDiagramNameInput::onCancelClicked()
{
hide();
}
void ProjectDiagramNameInput::onNameEdited(const QString& text)
{
if(_model)
{
if(DataBase::GetInstance()->getPageIdByName(text) == -1){ //不存在,可以创建
ui->label_info->setText("名称可用");
}else{
ui->label_info->setText("名称重复!");
}
}
}