#include "TransmitterSwitchInfo.h" // #include "lhstylemanager.h" #include #include /** * @brief 更新一个配置,不存在则添加 * * @param data */ void ConfigDataContainer::updateConfigData(const ConfigData& data) { if(m_mapConfigData.contains(data.key)) { m_mapConfigData[data.key].value = data.value; m_mapConfigData[data.key].updateTime = data.updateTime; }else { /* 加入新的内容,添加说明 */ m_mapConfigData.insert(data.key, data); if(KeyNotes.contains(data.key)) { m_mapConfigData[data.key].notes = KeyNotes[data.key]; } } } /* 获取一个配置 */ ConfigData& ConfigDataContainer::getConfigData(int key) { if(m_mapConfigData.contains(key)) { return m_mapConfigData[key]; } return m_mapConfigData[0]; } /* 查找一个配置是否在不在 */ bool ConfigDataContainer::findConfigData(int key) { return m_mapConfigData.contains(key); } /* 删除一个配置 */ void ConfigDataContainer::deleteConfigData(int key) { if(m_mapConfigData.contains(key)) { m_mapConfigData.remove(key); } } ExecPlanItemInfo::ExecPlanItemInfo() { ExecType = -1; WeekDay = 0; // num = -1; date = QDate::fromString("1970-01-01","yyyy-MM-dd"); execTime = QTime::fromString("00:00:00","hh:mm:ss"); devName = "未定义"; actionID = 0; actionName = "未定义"; } ExecPlanItemInfo::ExecPlanItemInfo(const ExecPlanItemInfo& item) { ExecType = item.ExecType; WeekDay = item.WeekDay; date = item.date; execTime = item.execTime; actionID = item.actionID; devName = item.devName; actionName = item.actionName; } ExecPlanItemInfo& ExecPlanItemInfo::operator=(const ExecPlanItemInfo& item) { if(this == &item) return *this; ExecType = item.ExecType; WeekDay = item.WeekDay; // num = item.num; date = item.date; execTime = item.execTime; devName = item.devName; actionID = item.actionID; actionName = item.actionName; // dateType = item.dateType; // cfgDev = item.cfgDev; return *this; } DevTypeInfo::DevTypeInfo() { devTypeName = ""; devAction.clear(); devType_MB.clear(); PTTypeCode = -1; } DevTypeInfo& DevTypeInfo::operator=(const DevTypeInfo& devInfo) { devTypeName = devInfo.devTypeName; devAction = devInfo.devAction; devType_MB = devInfo.devType_MB; PTTypeCode = devInfo.PTTypeCode; return *this; } MapDevType::MapDevType() { initDevType(); } /* 添加支持的设备类型 */ void MapDevType::initDevType() { /* 955发射机 */ DevTypeInfo devInfo; devInfo.devTypeName = "衢州台发射机"; devInfo.PTTypeCode = 955; devInfo.devAction[1] = "开机"; devInfo.devAction[2] = "关机"; devInfo.devType_MB.insert(enum_DeviceMB::Dev_Main,"主"); devInfo.devType_MB.insert(enum_DeviceMB::Dev_Backup,"备"); devInfo.devType_MB.insert(enum_DeviceMB::Dev_Contingency,"应急"); m_mapDevType.insert(955, devInfo); /* 其他发射机 */ } /* 获取某一个发射机类型 */ DevTypeInfo MapDevType::getDevType(int PTTypeCode) { if(m_mapDevType.contains(PTTypeCode)) { return m_mapDevType[PTTypeCode]; } return DevTypeInfo(); } DeviceInfo::DeviceInfo() { devName = "未定义"; PTTypeCode = -1; DevType = DevTypeInfo(); DTID = 0; DID = 0; ChannelID = 0; } DeviceInfo::DeviceInfo(const DeviceInfo& devInfo) { devName = devInfo.devName; PTTypeCode = devInfo.PTTypeCode; DevType = devInfo.DevType; DTID = devInfo.DTID; DID = devInfo.DID; MPID = devInfo.MPID; ChannelID = devInfo.ChannelID; } DeviceInfo& DeviceInfo::operator=(const DeviceInfo& devInfo) { devName = devInfo.devName; PTTypeCode = devInfo.PTTypeCode; DevType = devInfo.DevType; DTID = devInfo.DTID; DID = devInfo.DID; MPID = devInfo.MPID; ChannelID = devInfo.ChannelID; return *this; } MapDevice::MapDevice() { } /* 添加一个设备 */ void MapDevice::addDevice(const DeviceInfo& devInfo) { /* 先查重 */ if(m_mapDevice.contains(devInfo.devName)) { return; } m_mapDevice.insert(devInfo.devName, devInfo); } /* 获取一个设备 */ DeviceInfo MapDevice::getDevice(const QString& devName) { if(m_mapDevice.contains(devName)) { return m_mapDevice[devName]; } return DeviceInfo(); } /* 查找一个设备 */ bool MapDevice::findDevice(const QString& devName) { return m_mapDevice.contains(devName); } /* 根据设备名称获取设备动作 */ bool MapDevice::getDevAction(const QString& devName, QMap& devAction) { if(m_mapDevice.contains(devName)) { devAction = m_mapDevice[devName].DevType.devAction; return true; } return false; } /* 删除一个设备 */ void MapDevice::deleteDevice(const QString& devName) { if(m_mapDevice.contains(devName)) { m_mapDevice.remove(devName); } } ExecPlanGlobalConfig::ExecPlanGlobalConfig() { m_qssPath = ":/QSS/QSS"; } /* 设置样式表路径 */ // void ExecPlanGlobalConfig::setQSSPath(const QString& qssPath) // { // m_qssPath = qssPath; // } /* 获取样式表路径 */ QString ExecPlanGlobalConfig::getQSSPath() { if(m_UIStyle == enum_UIStyle::UI_Light) { return m_qssPath + m_lightQSS; } else if(m_UIStyle == enum_UIStyle::UI_Dark) { return m_qssPath + m_darkQSS; } return QString(); } /* 换肤,修改样式表 */ void ExecPlanGlobalConfig::setUIStyle(enum_UIStyle style) { m_UIStyle = style; /* 打开文件OneItem的样式表,发送特殊换肤信号 */ QFile file; QString qssOneItem = getQSSPath() + "/oneitem.qss"; file.setFileName(qssOneItem); if(file.open(QIODevice::ReadOnly)) { QString qss = file.readAll(); file.close(); emit signal_oneItemQssChanged(qss); } /* 发送普通换肤信号信号 */ emit signal_qssChanged(); /* 处理事件,让UI接收到换肤信号 */ QEventLoop loop; loop.processEvents(); }