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