fix: 玲珑应用功能适配
v23环境下,玲珑应用和普通应用的desktop文件名相同, 两种类型的应用都安装的情况下只显示一个. 修复方案: 删除去重处理, 补充desktop全路径校验 Log: Influence: 启动器-应用列表中可以获取到所有应用 Task: https://pms.uniontech.com/task-view-152805.html Change-Id: I9eeed5e87de2cbaf7e44d75f81c40f00af344b6a
This commit is contained in:
@ -140,11 +140,11 @@ void Launcher::setFullscreen(bool isFull)
|
||||
*/
|
||||
LauncherItemInfoList Launcher::getAllItemInfos()
|
||||
{
|
||||
LauncherItemInfoList ret;
|
||||
for (auto item : itemsMap) {
|
||||
ret.push_back(item.info);
|
||||
}
|
||||
return ret;
|
||||
LauncherItemInfoList allItemList;
|
||||
for (auto item : m_desktopAndItemMap)
|
||||
allItemList.push_back(item.info);
|
||||
|
||||
return allItemList;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -686,6 +686,7 @@ void Launcher::addItem(Item item)
|
||||
|
||||
item.info.categoryId = qint64(queryCategoryId(&item));
|
||||
itemsMap[item.info.id] = item;
|
||||
m_desktopAndItemMap[item.info.path] = item;
|
||||
}
|
||||
|
||||
Categorytype Launcher::queryCategoryId(const Item *item)
|
||||
@ -967,8 +968,6 @@ bool Launcher::doUninstall(DesktopInfo &info, const Item &item)
|
||||
case (AppType::Default):
|
||||
ret = removeDesktop(item);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
@ -147,14 +147,16 @@ private:
|
||||
void notifyUninstallDone(const Item &item, bool result);
|
||||
|
||||
private:
|
||||
QMap<QString, Item> itemsMap; // appKey, Item
|
||||
QMap<QString, Item> itemsMap; // appId, Item
|
||||
QMap<QString, QString> desktopPkgMap;
|
||||
QMap<QString, Categorytype> pkgCategoryMap;
|
||||
QMap<QString, QString> nameMap;
|
||||
QMap<QString, QString> nameMap; // appId, Name
|
||||
QMap<QString, int> noPkgItemIds;
|
||||
QVector<QString> appsHidden;
|
||||
|
||||
QStringList appDirs;
|
||||
|
||||
QMap<QString, Item> m_desktopAndItemMap; // desktoppath,Item
|
||||
};
|
||||
|
||||
#endif // LAUNCHER_H
|
||||
|
Reference in New Issue
Block a user