fix: 修复默认程序有多个会冲突的问题
解析优先默认程序的配置文件时解析错误 Log: 修复默认程序有多个会冲突的问题 Influence: 默认程序 Bug: https://pms.uniontech.com/bug-view-182127.html Change-Id: Ib9c86af489e5a5b48f5dc6326e16ba7ad5b7b2b1
This commit is contained in:
parent
f4650acfcd
commit
72384e3768
@ -19,22 +19,22 @@ struct DefaultUserAppInfos {
|
||||
|
||||
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)
|
||||
{
|
||||
|
||||
if (j.contains("appId")) {
|
||||
userAppInfo.appId = j.value("appId").toArray().toVariantList();
|
||||
if (j.contains("AppId")) {
|
||||
userAppInfo.appId = j.value("AppId").toArray().toVariantList();
|
||||
}
|
||||
|
||||
if (j.contains("appType")) {
|
||||
userAppInfo.appType = j.value("appType").toString().toStdString();
|
||||
if (j.contains("AppType")) {
|
||||
userAppInfo.appType = j.value("AppType").toString().toStdString();
|
||||
}
|
||||
|
||||
if (j.contains("supportedType")) {
|
||||
userAppInfo.supportedType = j.value("supportedType").toArray().toVariantList();
|
||||
if (j.contains("SupportedType")) {
|
||||
userAppInfo.supportedType = j.value("SupportedType").toArray().toVariantList();
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,7 +49,7 @@ inline void toJson(QJsonObject& j, const DefaultUserAppInfos& userAppInfos)
|
||||
}
|
||||
|
||||
j = QJsonObject {
|
||||
{"appInfos", appInfoArray}
|
||||
{"DefaultApps", appInfoArray}
|
||||
};
|
||||
}
|
||||
|
||||
@ -57,9 +57,9 @@ inline void fromJson(const QJsonObject& j, DefaultUserAppInfos& userAppInfos)
|
||||
{
|
||||
QJsonObject tmpObj = j;
|
||||
|
||||
if (j.contains("appInfos")) {
|
||||
if (j.contains("DefaultApps")) {
|
||||
DefaultUserAppInfo userAppInfo;
|
||||
for (auto appInfo : tmpObj.take("appInfos").toArray()) {
|
||||
for (auto appInfo : tmpObj.take("DefaultApps").toArray()) {
|
||||
fromJson(appInfo.toObject(), userAppInfo);
|
||||
userAppInfos.appInfos.push_back(userAppInfo);
|
||||
}
|
||||
|
@ -197,6 +197,7 @@ void MimeApp::deleteMimeAssociation(std::string mimeType, std::string desktopId)
|
||||
|
||||
void MimeApp::initConfigData()
|
||||
{
|
||||
// TODO 这个配置文件当前仍然是在dde-daemon中,但mime的服务已经迁移到此项目,后续应该把这个配置文件拿过来
|
||||
std::string filename = findFilePath("/dde-daemon/mime/data.json");
|
||||
|
||||
QFile file(filename.c_str());
|
||||
@ -236,7 +237,6 @@ void MimeApp::initConfigData()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
std::string MimeApp::findFilePath(std::string fileName)
|
||||
|
Loading…
Reference in New Issue
Block a user