Skip to content

BasicPlasmoidHeading: Optimize loop

PlasmaExtras/Representation: Port away from removed ScrollArea

BasicPlasmoidHeading: Optimize loop

Factor out fetching "configure" action, and port to for-of syntax.

BasicPlasmoidHeading: Delegate action visibility to MenuItem

PlasmaExtras.MenuItem is capable of synchronizing its visibility to its QAction's visibility, so let's use that and avoid rebuilding model.

BasicPlasmoidHeading: Port loop to simple array filter

BasicPlasmoidHeading: Port delegate to required modelData

BasicPlasmoidHeading: Port away from plasmoid context property

Amends c3363a5c

BasicPlasmoidHeading: Drop redundant and contradictory visibility bindings

The inverted condition is bound to the root component's visibility, so it makes little sense repeating it in child items. With non-inverted condition bound to Heading, there was no way that heading was ever visible.

BasicPlasmoidHeading: Fix "configure" button's bindings

Mainly, binding on visibility was wrong for two reasons at once:

  • Visibility is an implicitly propagated property, so what you read may not be what you wrote;
  • Using other property as a guard sub-expression is not reliable due to unspecified order of signal propagation: dependent property may have not updated yet when its consumer already re-evaluates its binding using stale value as a guard.

BasicPlasmoidHeading: Subscribe to "configure" action updates

Some applets replace "configure" action with their custom thing. For such applets is it important either to have strong guarantees that the action will be fetched by a ToolButton strictly after the replacement, or have the button subscribe to changes at runtime (which is way more reliable in any case).

Merge request reports