pluginloader: Change behavior of X-KDE-ParentApp

Authored by bshah on Jun 23 2019, 3:09 PM.



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

Diff Detail

R242 Plasma Framework (Library)
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
bshah created this revision.Jun 23 2019, 3:09 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptJun 23 2019, 3:09 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
bshah requested review of this revision.Jun 23 2019, 3:09 PM
mart accepted this revision.Jun 25 2019, 8:45 AM
This revision is now accepted and ready to land.Jun 25 2019, 8:45 AM
This revision was automatically updated to reflect the committed changes.