Refactor panel and implement blue ocean mockups
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.
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