Port Language KCM to Qt Quick

Authored by hein on Apr 10 2018, 10:25 PM.

Description

Port Language KCM to Qt Quick

Summary:

  • Changed the overall design from two lists to one list with a modal sheet to add more languages.
  • Replaced a modal "You need to relogin for changes" dialog with a MessageType.Positive InlineMessage.
  • Reworked the way missing languages are handled: The old KCM silently rewrote config and showed a warning. The new design shows an informative warning and removes the missing languages on the next save. Until then they're flagged as missing in the list.
  • Manages Apply button state correctly (or rather at all ...).

This depends on D12097.

This implements T7247.

This is currently not final code. It's a WIP upload to give Marco
something to work with to fix various Kirigami and SimpleKCM problems.

Currently known issues:

  • Does not save (code is from old KCM, might have been broken there)
  • Disabled SwipeListItem actions do not show disabled
  • Placement of actions button in SwipeListItem is wonky if the contentItem is a RowLayout
  • SwipeListItem spews errors about positionAnimation after using an action
  • SwipeListItem is awkward to use, we need a drag-reorderable list delegate
  • OverlaySheet spews numerous warnings about not being able to find applicationWindow and activeFocusItem
  • The sheet is parented to the SimpleKCM's parent since there's no app window to be modal too
  • The footer inside an OverlaySheet sometimes moves up above the content instead of staying down
  • Even though SimpleKCM is just a Kirigami.ScrollablePage like Kirigami Gallery pages, an InlineMessage that fills the page width gets cut off on the left and right, so wonky code to insert margins next to them
  • List has window bg color as background instead of view background color

Reviewers: Kirigami, mart

Subscribers: plasma-devel

Tags: Plasma, Kirigami

Differential Revision: https://phabricator.kde.org/D12102