pluginloader: Change behavior of X-KDE-ParentApp

Authored by bshah on Jun 23 2019, 2:55 PM.


pluginloader: Change behavior of X-KDE-ParentApp

X-KDE-ParentApp is the key in desktop file to display that given service
or application is part of the another application or extension of other
application. In KDE4 this key was used to mark applets to be used in the
specific application like plasma-desktop, kdevelop, amarok etc.

In KF5 world, none of this applications have applet loading mechanism
apart from plasma*, and there are likely only Plasma applet, containment
or dataengines.

Previous API, when no/empty parentApp was passed would filter out every
application which had something as parentApp. This was to ensure only
compatible plugins are loaded in Plasma. This resulted in applets
getting excluded if they suggested that org.kde.plasmashell is their
parent application. Refine this API to,

  • If no/empty parentApp is provided, provide all applets
  • If parentApp is provided, filter by applet

This behavior is more filter like instead of other way around.

CHANGELOG: Applet, DataEngine and containment listing methods in
Plasma::PluginLoader no longer filters the plugins with X-KDE-ParentApp
provided when empty string is passed.

Test Plan:
tested that plasma loads properly, plasmaengineexplorer lists
all engines and plasmawindowed works fine. Neverthless requires more testing

Reviewers: mart, apol

Subscribers: kde-frameworks-devel

Tags: Frameworks

Differential Revision:


bshahJun 23 2019, 3:09 PM
Differential Revision
D22049: pluginloader: Change behavior of X-KDE-ParentApp
R242:9f04ae48e2c4: make pinch in calendar work again