COMPASSi/trunk/code/projects/Application/Application.cpp

85 lines
2.4 KiB
C++
Raw Normal View History

2025-06-25 15:06:42 +08:00
#pragma execution_character_set("utf-8")
#include "Application.h"
#include <QDebug>
#include <QApplication>
#include <QDialog>
#include <QLabel>
#include "MessageHandle.h"
#include "nlohmann/json.hpp"
#include <QUrl>
#include <qdesktopservices.h>
//#include <QdesktopServices>
#include <QFile>
#include "CmdDefine.h"
#include "IniFileManager.h"
#include "Error.h"
#define BIND(func) std::bind(&ccsApplication::func, this, std::placeholders::_1)
const QList<QPair<QString, QString>> titleList = {};
ccsApplication::ccsApplication()
{
ccsMessageHandle::instance()->register_callback(BIND(exit), CMD_exit);
ccsMessageHandle::instance()->register_callback(BIND(open_helppdf), CMD_application_open_helppdf);
}
ccsApplication::~ccsApplication()
{
}
void ccsApplication::exit(const QString &message)
{
QString jsonMsg = ccsMessageHandle::instance()->createMsg(CMD_exit, EXECUTE_FAIL, "退出界面失败,请检查!");
if (!message.isEmpty())
{
nlohmann::json myjson = nlohmann::json::parse(message.toStdString());
if (!myjson["value"].empty())
{
int value = myjson["value"];
int iLanguage = IniFileManager::getInstance().getLanguage("common", "language");
switch (value)
{
case EXIT_applicationExit:
QCoreApplication::quit();
jsonMsg = ccsMessageHandle::instance()->createMsg(CMD_exit, EXECUTE_SUCCESS, "一级界面退出成功!");
break;
}
}
}
ccsMessageHandle::instance()->qt2web(CMD_exit, jsonMsg);
}
void ccsApplication::open_helppdf(const QString& message)
{
}
void ccsApplication::open_language(const QString &message)
{
}
void ccsApplication::send_language(const QString &message)
{
//没有配置文件或没有设置语言时 默认为中文
//中文0 英文1
//int iLanguage = IniFileManager::getInstance().getLanguage("common","language");
//IniFileManager::setStaticLanguageValue(iLanguage);
//nlohmann::json myjson;
//myjson["language"] = iLanguage;
//QString sendData = QString::fromStdString(myjson.dump());
//QString jsonMsg = ccsMessageHandle::instance()->createMsg(CMD_application_send_language,EXECUTE_SUCCESS,"", sendData);
//ccsMessageHandle::instance()->qt2web(CMD_application_send_language, jsonMsg);
}
void ccsApplication::problem_feedback(const QString &message)
{
QUrl url("http://callcenter.ccs.org.cn/");
QDesktopServices::openUrl(url);
}