This will make it possible to load parts using KPluginLoader.
Details
- Reviewers
aacid - Maniphest Tasks
- T12340: Install all parts into plugins/kf5/parts, and add JSON metadata to them
Both okular and konqueror can still display PDFs
Diff Detail
- Repository
- R223 Okular
- Branch
- master
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 20507 Build 20525: arc lint + arc unit
In fact, webenginepart and others had a better idea already: plugins/kf5/parts.
This way we can co-install kf5 and kf6 based parts, and especially avoid crashes
when a kf6 app tries to load a kf5 part or vice-versa.
Sorry for the noise.
At least Kile tries to load the Okular KPart via the binary name and using the constructor of KPluginLoader which only searches in the normal Qt plugin paths, not subdirs, Possibly there are others who copied that code. No idea what to do, besides promoting the use of metadata-based plugin searching...
Oh, and the Calligra plugins for Okular (edit: when used with the KPart) will also break, as they (edit: desktop files they deploy for that use-case) also have X-KDE-Library=okularpart, given then they also work by being subplugins to the Okular KPart binary, so need to reference it,
Thanks for the research and additional information. Indeed in the light of this, this patch has to wait until the KF6 branching. Putting it on hold for now.
If they have X-KDE-Library=kf5/parts/okularpart then yes, likely.
This can wait until KF6.
Please move as a Merge Request in https://invent.kde.org/kde/okular
We have pre-commit CI and lots of checks including clazy and clang-tidy there so it's a much better place for doing the review/approval/merge of the code.