DPS/DataPlatform/ProjectManager.cpp

57 lines
1.6 KiB
C++

#include "ProjectManager.h"
#include "Session.h"
#include "ProjectModel.h"
ProjectManager::ProjectManager(QObject* parent)
: EventModule("ProjectManager")
{
addShareEventModule(new ProjectModel());
}
ProjectManager::~ProjectManager()
{
}
void ProjectManager::contextMenu(const json& request, QMenu* menu)
{
QAction* exportAction = new QAction(this);
exportAction->setText(QStringLiteral("导出"));//给动作设置文本
menu->addAction(exportAction); //把动作添加到菜单
QAction* instanceAction = new QAction(this);
instanceAction->setText(QStringLiteral("文档生成"));//给动作设置文本
menu->addAction(instanceAction); //把动作添加到菜单
}
int key = 10;
bool ProjectManager::onMessage(const std::string& eventName, json& parameter)
{
if (eventName == "add-project") {
auto data = parameter["data"];
if (data["name"] == "a") {
parameter["response"]["error"] = QString::fromLocal8Bit("名称重复").toUtf8();
return true;
}
data["key"] = key++;
data["createTime"] = "2001-01-01 12:00";
data["updateTime"] = "2001-01-01 12:00";
parameter["response"] = data;
return true;
}
else if (eventName == "import-project") {
parameter["response"]["error"] = QString::fromLocal8Bit("导入失败").toUtf8();
return true;
}
else if (eventName == "delete-project") {
int key = parameter["data"];
parameter["response"] = { "key",key };
return true;
}
else if (eventName == "save-edit-project") {
parameter["response"] = parameter["data"];
return true;
}
else if (eventName == "change-project-follow") {
int key = parameter["data"];
parameter["response"] = true;
return true;
}
return EventModule::onMessage(eventName, parameter);
}