D22468: Rewrite KScreen KCM as ConfigModule with outputs model and Kirigami
Roman Gilg
noreply at phabricator.kde.org
Mon Jul 15 03:16:46 BST 2019
romangg created this revision.
romangg added reviewers: Plasma, KWin.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
romangg requested review of this revision.
REVISION 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.
TEST PLAN
Manually on X and Wayland.
REPOSITORY
R104 KScreen
BRANCH
qmlize
REVISION DETAIL
https://phabricator.kde.org/D22468
AFFECTED FILES
CMakeLists.txt
common/utils.cpp
common/utils.h
kcm/CMakeLists.txt
kcm/Messages.sh
kcm/config_handler.cpp
kcm/config_handler.h
kcm/kcm.cpp
kcm/kcm.h
kcm/kcm_kscreen.desktop
kcm/kcm_kscreen.desktop.cmake
kcm/output_identifier.cpp
kcm/output_identifier.h
kcm/output_model.cpp
kcm/output_model.h
kcm/package/contents/ui/Output.qml
kcm/package/contents/ui/OutputIdentifier.qml
kcm/package/contents/ui/OutputPanel.qml
kcm/package/contents/ui/Panel.qml
kcm/package/contents/ui/RotationButton.qml
kcm/package/contents/ui/Screen.qml
kcm/package/contents/ui/main.qml
kcm/package/metadata.desktop
kcm/qml/CMakeLists.txt
kcm/qml/Output.qml
kcm/qml/OutputIdentifier.qml
kcm/qml/Tip.qml
kcm/qml/main.qml
kcm/src/CMakeLists.txt
kcm/src/controlpanel.cpp
kcm/src/controlpanel.h
kcm/src/declarative/qmloutput.cpp
kcm/src/declarative/qmloutput.h
kcm/src/declarative/qmloutputcomponent.cpp
kcm/src/declarative/qmloutputcomponent.h
kcm/src/declarative/qmlscreen.cpp
kcm/src/declarative/qmlscreen.h
kcm/src/kcm_kscreen.cpp
kcm/src/kcm_kscreen.h
kcm/src/kcm_testapp.cpp
kcm/src/kscreen_widget.ui
kcm/src/outputconfig.cpp
kcm/src/outputconfig.h
kcm/src/previewwidget.cpp
kcm/src/previewwidget.h
kcm/src/resolutionslider.cpp
kcm/src/resolutionslider.h
kcm/src/scaling.ui
kcm/src/scalingconfig.cpp
kcm/src/scalingconfig.h
kcm/src/stylepreview.ui
kcm/src/unifiedoutputconfig.cpp
kcm/src/unifiedoutputconfig.h
kcm/src/utils.cpp
kcm/src/utils.h
kcm/src/widget.cpp
kcm/src/widget.h
kded/CMakeLists.txt
kded/osd.cpp
tests/osd/CMakeLists.txt
To: romangg, #plasma, #kwin
Cc: plasma-devel, LeGast00n, jraleigh, fbampaloukas, GB_2, ragreen, Pitel, ZrenBot, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20190715/b5d41d22/attachment.html>
More information about the Plasma-devel
mailing list