Skip to content

Refactor panel and implement blue ocean mockups

Devin Lin requested to merge work/refactor-and-blue-ocean-panel into master

This MR does several things:

Extract panel components into the mobileshell component

Each of the components of the panel containment have been moved to the mobileshell component, and so they can be imported with org.kde.plasma.private.mobileshell in the containment, as well as the lockscreen.

My intention is to have any future components that are meant to be shared in the shell to be there.

Refactor panel

The panel code has been simplified a lot and cleaned up to make it easier to understand and maintain. Each of the components were also split up. The pull-down drawer is now referred to as the actiondrawer, and contains the code specifically for that, as well as the quicksettings panel within the drawer. dataproviders are singletons that provide the necessary data for things like indicators, as well as providing system functions like the volume osd and shortcuts. statusbar refers to the top panel with indicators that are always visible.

QuickSettings were also moved from the homescreencomponents package to the mobileshell package.

Add embeddable widgets

Since using the desktop applets isn't feasible on the lockscreen, and we needed a more mobile friendly interface for the widgets anyway, the notifications and media control applets were replaced by embeddable widgets (widgets folder in mobileshell).

Implement blue ocean mockups for panel

The expanded view was changed to be more detailed, with a new quicksettings field called status that can allow quicksettings to provide more information. The notifications and media widget were reworked, as stated above. The landscape orientation view was also reworked, to have the quicksettings become a side panel.

image

image

image

image

Addresses: https://invent.kde.org/plasma/plasma-phone-components/-/issues/117 https://invent.kde.org/plasma/plasma-phone-components/-/issues/119 https://invent.kde.org/plasma/plasma-phone-components/-/issues/107 https://invent.kde.org/plasma/plasma-phone-components/-/issues/92 https://invent.kde.org/plasma/plasma-phone-components/-/issues/78

  • Finalize panel UI design
  • Finalize panel opening/closing UX design
  • Embed panel into lockscreen
  • Implement media widget
  • Add landscape view
  • Implement notifications list
  • Extract Thumbnail components from notification applet

VID_20211202_234640__1_

Edited by Devin Lin

Merge request reports