diff --git a/desktopintegration.cpp b/desktopintegration.cpp index be1ca6e3..9368816b 100644 --- a/desktopintegration.cpp +++ b/desktopintegration.cpp @@ -108,6 +108,24 @@ bool DesktopIntegration::appIsCompulsoryForDesktop(const QString &desktopId) return false; } +bool DesktopIntegration::appIsDummyPackage(const QString &desktopId) +{ +#ifdef NO_APPSTREAM_QT + Q_UNUSED(desktopId) +#else + AppStream::Pool pool; + // qDebug() << pool.flags(); + pool.load(); + + const AppStream::ComponentBox components = pool.componentsByLaunchable(AppStream::Launchable::KindDesktopId, desktopId); + for (const AppStream::Component & component : components) { + return component.customValue("DDE::is_dummy_package") == "true"; + } +#endif + + return false; +} + Qt::ArrowType DesktopIntegration::dockPosition() const { return m_dockIntegration->direction(); diff --git a/desktopintegration.h b/desktopintegration.h index 5671d8a4..0d730b46 100644 --- a/desktopintegration.h +++ b/desktopintegration.h @@ -49,6 +49,7 @@ class DesktopIntegration : public QObject Q_INVOKABLE static void showFolder(enum QStandardPaths::StandardLocation location); Q_INVOKABLE static void showUrl(const QString & url); Q_INVOKABLE bool appIsCompulsoryForDesktop(const QString & desktopId); + Q_INVOKABLE bool appIsDummyPackage(const QString & desktopId); // TODO: async get wallpaper? Qt::ArrowType dockPosition() const;