fix: 修复默认程序有多个会冲突的问题

解析优先默认程序的配置文件时解析错误

Log: 修复默认程序有多个会冲突的问题
Influence: 默认程序
Bug: https://pms.uniontech.com/bug-view-182127.html
Change-Id: Ib9c86af489e5a5b48f5dc6326e16ba7ad5b7b2b1
This commit is contained in:
ssk-wh 2023-01-13 09:31:49 +08:00 committed by Gary Wang
parent f4650acfcd
commit 72384e3768
2 changed files with 11 additions and 11 deletions

View File

@ -19,22 +19,22 @@ struct DefaultUserAppInfos {
inline void toJson(QJsonObject& j, const DefaultUserAppInfo& userAppInfo) inline void toJson(QJsonObject& j, const DefaultUserAppInfo& userAppInfo)
{ {
j = QJsonObject{ { "appId", QJsonArray::fromVariantList(userAppInfo.appId) }, { "appType", userAppInfo.appType.c_str() }, { "supportedType", QJsonArray::fromVariantList(userAppInfo.supportedType) }}; j = QJsonObject{ { "AppId", QJsonArray::fromVariantList(userAppInfo.appId) }, { "AppType", userAppInfo.appType.c_str() }, { "SupportedType", QJsonArray::fromVariantList(userAppInfo.supportedType) }};
} }
inline void fromJson(const QJsonObject& j, DefaultUserAppInfo& userAppInfo) inline void fromJson(const QJsonObject& j, DefaultUserAppInfo& userAppInfo)
{ {
if (j.contains("appId")) { if (j.contains("AppId")) {
userAppInfo.appId = j.value("appId").toArray().toVariantList(); userAppInfo.appId = j.value("AppId").toArray().toVariantList();
} }
if (j.contains("appType")) { if (j.contains("AppType")) {
userAppInfo.appType = j.value("appType").toString().toStdString(); userAppInfo.appType = j.value("AppType").toString().toStdString();
} }
if (j.contains("supportedType")) { if (j.contains("SupportedType")) {
userAppInfo.supportedType = j.value("supportedType").toArray().toVariantList(); userAppInfo.supportedType = j.value("SupportedType").toArray().toVariantList();
} }
} }
@ -49,7 +49,7 @@ inline void toJson(QJsonObject& j, const DefaultUserAppInfos& userAppInfos)
} }
j = QJsonObject { j = QJsonObject {
{"appInfos", appInfoArray} {"DefaultApps", appInfoArray}
}; };
} }
@ -57,9 +57,9 @@ inline void fromJson(const QJsonObject& j, DefaultUserAppInfos& userAppInfos)
{ {
QJsonObject tmpObj = j; QJsonObject tmpObj = j;
if (j.contains("appInfos")) { if (j.contains("DefaultApps")) {
DefaultUserAppInfo userAppInfo; DefaultUserAppInfo userAppInfo;
for (auto appInfo : tmpObj.take("appInfos").toArray()) { for (auto appInfo : tmpObj.take("DefaultApps").toArray()) {
fromJson(appInfo.toObject(), userAppInfo); fromJson(appInfo.toObject(), userAppInfo);
userAppInfos.appInfos.push_back(userAppInfo); userAppInfos.appInfos.push_back(userAppInfo);
} }

View File

@ -197,6 +197,7 @@ void MimeApp::deleteMimeAssociation(std::string mimeType, std::string desktopId)
void MimeApp::initConfigData() void MimeApp::initConfigData()
{ {
// TODO 这个配置文件当前仍然是在dde-daemon中但mime的服务已经迁移到此项目后续应该把这个配置文件拿过来
std::string filename = findFilePath("/dde-daemon/mime/data.json"); std::string filename = findFilePath("/dde-daemon/mime/data.json");
QFile file(filename.c_str()); QFile file(filename.c_str());
@ -236,7 +237,6 @@ void MimeApp::initConfigData()
} }
} }
} }
} }
std::string MimeApp::findFilePath(std::string fileName) std::string MimeApp::findFilePath(std::string fileName)