Skip to content
  • Eike Hein's avatar
    Prepare for retiring the C++ text label in Task Manager delegates. · c82f9207
    Eike Hein authored
    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.
    
    Reviewers: #plasma, mart
    
    Subscribers: plasma-devel
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D2281
    c82f9207