DiagramDesigner/diagramUtils/source/projectManager.cpp

66 lines
1.9 KiB
C++

#include "projectManager.h"
#include "dataBase.h"
#include <QMessageBox>
ProjectManager& ProjectManager::instance()
{
//采用静态局部变量的方式,静态局部变量的初始化是在第一次访问时,以后的调用不会多次初始化,并且生命周期和程序一致
static ProjectManager instance;
return instance;
}
ProjectManager::ProjectManager(QObject *parent)
: QObject(parent)
{
}
ProjectManager::~ProjectManager()
{
}
void ProjectManager::saveEditorDataToDB(QUuid uid,const QString& name,const QString& tag,QByteArray byte)
{
bool val = DataBase::GetInstance()->ifEditorProjectExist(name);
if(val)
{
bool res = DataBase::GetInstance()->updateEditorProject(name,byte);
if(res){
emit editorSaved(name,uid);
QMessageBox::information(NULL, QString("提示"), QString::fromWCharArray(L"更新成功"));
}
else
QMessageBox::information(NULL, QString("提示"), QString::fromWCharArray(L"更新失败"));
}
else{
bool res = DataBase::GetInstance()->insertEditorProject(uid,name,tag,byte);
if(res){
emit editorSaved(name,uid);
QMessageBox::information(NULL, QString("提示"), QString::fromWCharArray(L"保存成功"));
}
else
QMessageBox::information(NULL, QString("提示"), QString::fromWCharArray(L"保存失败"));
}
}
QByteArray ProjectManager::getEditorDataByName(const QString& name)
{
return DataBase::GetInstance()->getEditorProjectByName(name);
}
void ProjectManager::createEditor(const QString& name)
{
if(!_wizardInfo.contains(name)){
QUuid uid = QUuid::createUuid();
_wizardInfo[name].sName = name;
_wizardInfo[name].uid = uid;
emit createNewEditor(name,uid);
}
}
void ProjectManager::saveEditor(const QString& name)
{
emit prepareSaveEditor(name);
}