Skip to content
  • Roman Gilg's avatar
    Rewrite KScreen KCM as ConfigModule with outputs model and Kirigami · 6309d33f
    Roman Gilg authored
    Summary:
    The KScreen KCM was still partly Qt Widgets based. Also it did not use a
    model for the outputs but instead created objects in C++ for visual
    representation of the outputs.
    
    This patch bases the KScreen KCM on ConfigModule removing any dependency
    on Qt Widgets. The former widgets based settings form is rewritten as
    Kirigami form layout.
    
    The already existing QML part has been also rewritten with a model as
    data provider for the outputs and input handlers for interacting with the
    outputs in the overview.
    
    On hotplug events the settings dialog is reset and the user is informed.
    
    Output retention now is set for the whole config instead of individual
    outputs what simplifies it.
    
    On Wayland output scaling is now fractional via a slider. This has not yet
    been tested though and there might be some more work necessary in KWin.
    
    The output unification has been removed for now. It was broken in certain
    ways and we should try instead to improve the libkscreen backend to make
    unficiation more easy to use. For now as a workaround the outputs can be
    placed on top of each other to create a clone effect.
    
    The KScreen maintainership is changed to me.
    
    X11:
    {F7024716}
    
    Wayland:
    {F7024721}
    
    Test Plan: Manually on X and Wayland.
    
    Reviewers: #plasma, #kwin, #vdg, ngraham
    
    Reviewed By: #vdg
    
    Subscribers: #vdg, GB_2, gvarsanyi, davidedmundson, ngraham, mvourlakos, knambiar, broulik, filipf, plasma-devel
    
    Tags: #plasma, #vdg
    
    Maniphest Tasks: T11217, T10273
    
    Differential Revision: https://phabricator.kde.org/D22468
    6309d33f