Prepare for retiring the C++ text label in Task Manager delegates.
ClosedPublic

Authored by hein on Jul 25 2016, 12:39 PM.

Details

Summary

The Task Manager button delegates currently use a custom C++
QQuickPaintedItem to display text. This is undesirable because
it causes a lot of texture traffic and bypasses the glyph cache
of Qt Quick's OpenGL renderer. However, the C++ code does
complex things - like per-line fadeouts and shadowing - that are
not easily recreated in pure QML, which has kept the C++ label
around up until now`.

This patch gets us on the way by putting the existing label
implementation behind a Loader, and making a pure-QML label
implementation available via an experimental config option.

I'd like to have this in the 5.7 branch because one of our
downstreams (Netrunner Linux) used to ship similar code in
a fork of the applet for visual reasons, and since what they
want to ship aligns with our long-term plans, this will allow
them to avoid the fork while getting us an early tester for
upstream code.

As a nice bonus it ends up being a performance optimization
for Icontasks users, as TextLabel will no longer even be
instanciated there.

Diff Detail

Repository
R119 Plasma Desktop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
hein updated this revision to Diff 5485.Jul 25 2016, 12:39 PM
hein retitled this revision from to Prepare for retiring the C++ text label in Task Manager delegates..
hein updated this object.
hein edited the test plan for this revision. (Show Details)
hein added reviewers: Plasma, mart.
hein added a subscriber: plasma-devel.
Restricted Application added a project: Plasma. · View Herald TranscriptJul 25 2016, 12:39 PM
mart accepted this revision.Jul 25 2016, 12:40 PM
mart edited edge metadata.
This revision is now accepted and ready to land.Jul 25 2016, 12:40 PM
This revision was automatically updated to reflect the committed changes.