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:
76
src/service/applicationhelper.h
Normal file
76
src/service/applicationhelper.h
Normal 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
|
||||
|
Reference in New Issue
Block a user