Port away from passing KPluginMetaData in variant list when instantiating plugins
Open, Needs TriagePublic

Description

Instead use the the create function which takes the KPluginMetaData in a typesafe way:

QWidget *, QObject *, const KPluginMetaData &, const QVariantList &

Depending on the API it might make sense to deprecate the other overload(s).

alex created this task.Aug 12 2021, 4:08 PM
alex added a project: KF6.
alex added a comment.Nov 8 2021, 7:13 AM

In plasma-frameworks & krunner the constructor overloads which do not take the metadata overload are deprecated.

Places where this needs to be used/enforced are:

  • plasma-frameworks
    • Applets
    • Containments
    • Dataengines
    • ContainmentActions
  • kpackage: PackageStructure, seems unused and does not have any accessors in public API. Should be removed in KF6
  • krunner: Metadata is passed in variant list when instantiating runner. However we already have a dedicated AbstractRunner::metadata accessor which is used internals and by the runners.
alex moved this task from Backlog to Waiting on KF6 Branching on the KF6 board.Nov 8 2021, 7:18 AM

I don't think we have to worry about the dataengines in this context.

Because consumers/frameworks access the data from the variant list based on the index, we can not really deprecate/remove anything in KF5. Consequently this should wait for KF6 branching.

@alex anything left to do here?

alex moved this task from Waiting on KF6 Branching to Done on the KF6 board.Jun 28 2023, 2:40 PM