feat: 修改自启动应用启动方式

*修改自启动应用启动方式, 采用loader进程先校验应用信息,再拉起应用的方式
*修复launcher模块部分接口导出失败的问题
*增加launcher、dock、loader模块代码注释

Log: 修改自启动应用启动方式
Task: https://pms.uniontech.com/task-view-131611.html
Influence: 应用启动方式不同
Change-Id: Ie88027602d1395c6bbad69e610f3639ecc7dfbc1
This commit is contained in:
weizhixiang
2022-05-19 13:13:55 +08:00
parent 68f52fe831
commit 5997b3a2a1
53 changed files with 1618 additions and 693 deletions

View File

@ -0,0 +1,76 @@
#include "../modules/tools/desktop_deconstruction.hpp"
#include <QString>
namespace modules {
namespace ApplicationHelper {
class Helper {
QString m_file;
public:
Helper(const QString &desktop)
: m_file(desktop)
{
}
inline QString desktop() const { return m_file; }
template <typename T>
T value(const QString &key) const
{
QSettings settings = DesktopDeconstruction(m_file);
settings.beginGroup("Desktop Entry");
return settings.value(key).value<T>();
}
QStringList categories() const
{
QStringList result;
QStringList tmp{ value<QString>("Categories").split(";") };
for (auto t : tmp) {
if (t.isEmpty()) {
continue;
}
result << t;
}
return result;
}
QString icon() const
{
return value<QString>("Icon");
}
// appId
QString id() const
{
return m_file.split("/").last().split(".").first();
}
QStringList mimetypes() const
{
QStringList result;
QStringList tmp{ value<QString>("MimeType").split(";") };
for (auto t : tmp) {
if (t.isEmpty()) {
continue;
}
result << t;
}
return result;
}
QString comment(const QString &locale) const
{
return value<QString>(QString("Comment[%1]").arg(locale));
}
QString name(const QString &name) const
{
return value<QString>(QString("Name[%1]").arg(name));
}
};
} // namespace ApplicationHelper
} // namespace modules