<table><tr><td style="">romangg created this revision.<br />romangg added reviewers: Plasma, KWin.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />romangg requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D22468">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>The KScreen KCM was still partly Qt Widgets based. Also it did not use a<br />
model for the outputs but instead created objects in C++ for visual<br />
representation of the outputs.</p>
<p>This patch bases the KScreen KCM on ConfigModule removing any dependency<br />
on Qt Widgets. The former widgets based settings form is rewritten as<br />
Kirigami form layout.</p>
<p>The already existing QML part has been also rewritten with a model as<br />
data provider for the outputs and input handlers for interacting with the<br />
outputs in the overview.</p>
<p>On hotplug events the settings dialog is reset and the user is informed.</p>
<p>Output retention now is set for the whole config instead of individual<br />
outputs what simplifies it.</p>
<p>On Wayland output scaling is now fractional via a slider. This has not yet<br />
been tested though and there might be some more work necessary in KWin.</p>
<p>The output unification has been removed for now. It was broken in certain<br />
ways and we should try instead to improve the libkscreen backend to make<br />
unficiation more easy to use. For now as a workaround the outputs can be<br />
placed on top of each other to create a clone effect.</p>
<p>The KScreen maintainership is changed to me.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Manually on X and Wayland.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R104 KScreen</div></div></div><br /><div><strong>BRANCH</strong><div><div>qmlize</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D22468">https://phabricator.kde.org/D22468</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>CMakeLists.txt<br />
common/utils.cpp<br />
common/utils.h<br />
kcm/CMakeLists.txt<br />
kcm/Messages.sh<br />
kcm/config_handler.cpp<br />
kcm/config_handler.h<br />
kcm/kcm.cpp<br />
kcm/kcm.h<br />
kcm/kcm_kscreen.desktop<br />
kcm/kcm_kscreen.desktop.cmake<br />
kcm/output_identifier.cpp<br />
kcm/output_identifier.h<br />
kcm/output_model.cpp<br />
kcm/output_model.h<br />
kcm/package/contents/ui/Output.qml<br />
kcm/package/contents/ui/OutputIdentifier.qml<br />
kcm/package/contents/ui/OutputPanel.qml<br />
kcm/package/contents/ui/Panel.qml<br />
kcm/package/contents/ui/RotationButton.qml<br />
kcm/package/contents/ui/Screen.qml<br />
kcm/package/contents/ui/main.qml<br />
kcm/package/metadata.desktop<br />
kcm/qml/CMakeLists.txt<br />
kcm/qml/Output.qml<br />
kcm/qml/OutputIdentifier.qml<br />
kcm/qml/Tip.qml<br />
kcm/qml/main.qml<br />
kcm/src/CMakeLists.txt<br />
kcm/src/controlpanel.cpp<br />
kcm/src/controlpanel.h<br />
kcm/src/declarative/qmloutput.cpp<br />
kcm/src/declarative/qmloutput.h<br />
kcm/src/declarative/qmloutputcomponent.cpp<br />
kcm/src/declarative/qmloutputcomponent.h<br />
kcm/src/declarative/qmlscreen.cpp<br />
kcm/src/declarative/qmlscreen.h<br />
kcm/src/kcm_kscreen.cpp<br />
kcm/src/kcm_kscreen.h<br />
kcm/src/kcm_testapp.cpp<br />
kcm/src/kscreen_widget.ui<br />
kcm/src/outputconfig.cpp<br />
kcm/src/outputconfig.h<br />
kcm/src/previewwidget.cpp<br />
kcm/src/previewwidget.h<br />
kcm/src/resolutionslider.cpp<br />
kcm/src/resolutionslider.h<br />
kcm/src/scaling.ui<br />
kcm/src/scalingconfig.cpp<br />
kcm/src/scalingconfig.h<br />
kcm/src/stylepreview.ui<br />
kcm/src/unifiedoutputconfig.cpp<br />
kcm/src/unifiedoutputconfig.h<br />
kcm/src/utils.cpp<br />
kcm/src/utils.h<br />
kcm/src/widget.cpp<br />
kcm/src/widget.h<br />
kded/CMakeLists.txt<br />
kded/osd.cpp<br />
tests/osd/CMakeLists.txt</div></div></div><br /><div><strong>To: </strong>romangg, Plasma, KWin<br /><strong>Cc: </strong>plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>