#ifndef A7B4B7B1_0422_4EC9_8441_778273A85F9C #define A7B4B7B1_0422_4EC9_8441_778273A85F9C #include "../tools/desktop_deconstruction.hpp" #include 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 T value(const QString &key) const { QSettings settings = DesktopDeconstruction(m_file); settings.beginGroup("Desktop Entry"); return settings.value(key).value(); } QStringList categories() const { QStringList result; QStringList tmp{ value("Categories").split(";") }; for (auto t : tmp) { if (t.isEmpty()) { continue; } result << t; } return result; } QString icon() const { return value("Icon"); } QString id() const { return m_file.split("/").last().split(".").first(); } QStringList mimetypes() const { QStringList result; QStringList tmp{ value("MimeType").split(";") }; for (auto t : tmp) { if (t.isEmpty()) { continue; } result << t; } return result; } QString comment(const QString &locale) const { return value(QString("Comment[%1]").arg(locale)); } QString name(const QString &name) const { return value(QString("Name[%1]").arg(name)); } }; } // namespace ApplicationHelper } // namespace modules #endif /* A7B4B7B1_0422_4EC9_8441_778273A85F9C */