#include "projectManager.h" #include "dataBase.h" #include 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,QString autor,QString sTime) { bool val = DataBase::GetInstance()->ifEditorProjectExist(name); if(!val) DataBase::GetInstance()->insertEditorProject(uid,name,tag); QUuid uidSetting = QUuid::createUuid(); //暂定没有更新,变更后存储为新记录 bool res = DataBase::GetInstance()->insertBaseSetting(uidSetting,name,autor,byte,QUuid(),sTime); if(res) emit editorSaved(name,autor,uidSetting,sTime); } QByteArray ProjectManager::getEditorBaseSettingByUid(QUuid uid) { return DataBase::GetInstance()->getBaseSettingByUid(uid); } bool ProjectManager::createEditorProject(const QString& name) { bool bExist = DataBase::GetInstance()->ifEditorProjectExist(name); if(bExist) return true; QUuid uid = QUuid::createUuid(); emit createNewEditor(name,uid); return false; } void ProjectManager::unloadEditorProject(const QString& name) { emit prepareUnloadProject(name); } void ProjectManager::openSetting(const QString& name) { emit prepareOpenSetting(name); } void ProjectManager::saveEditor(const QString& name) { emit prepareSaveEditor(name); } bool ProjectManager::deleteEditor(const QString& name,QUuid id) { emit prepareDeleteBaseSetting(name,id); return DataBase::GetInstance()->deleteBaseSetting(id); } void ProjectManager::loadBaseSetting(const QString& str,QUuid id) { emit prepareLoadBaseSetting(str,id); } QList ProjectManager::getBaseSettingsByProject(const QString& strPro) { QList lst; QList lstAll = DataBase::GetInstance()->getAllBaseSetting(); for(auto &info:lstAll){ if(info.projectName == strPro) lst.append(info); } return lst; } editorBaseSettingInfo ProjectManager::getBaseSetting(QUuid uid) { return DataBase::GetInstance()->getBaseSettingInfo(uid); }