The drawer was recently updated where it is now technically always is visible. So we need to update the binding for MobileShellState to use drawer.intendedToBeVisible so that it works properly.
This fix maximizes the current window if it ever leaves a fullscreen or maximized state. This is to fix a bug where if a window exits fullscreen mode, it will not return back to a maximized state.
Currently the user can only expand to the expanded state after the initial minimized animation finishes. This animation gets reset as soon as a finger is pressed down, causing the user to have to wait until the animation completely finishes before being able to go to the expanded state.
Bypass the need to wait for the animation to finish by setting the open state immediately if the offset already is past the minimized threshold.
This MR:
- Caps the maximum width of delegates and centers them
- Makes the search widget style match the app drawer search bar
- Adds section headers
- Uses rounded delegates
Fix the favourites bar reordering when it is already full, currently it
prevents any changes on a full bar, requiring users to move the delegate
out and back in again.
This MR implements multiple things
- Add `.vscode/` to .gitignore
- Any files generated by Visual Studio code or its extensions will not be pushed.
- Give `InitialStartModule` a required `name` property
- Every `InitialStartModule` now requires a `name` property. This replaces the previous setup where a `property string name` was needed in the `contentitem` of the `InitialStartModule`.
- Remove the cellular page if no modem
- If the device has no modem (`PlasmaMM.SignalIndicator.modemAvailable == false`), the cellular page will no longer be shown.
This fixes an issue where if the device is rotated in a folder, the page would not snap immediately back to the right position, but would instead animate icon position changes.
To achieve this, the following changes were made.
- changes were made to how the folder gird size is calculated to prevent an issue with the grid size changing for a brief period of time during screen rotation, causing problems with snapping to the correct page.
- icons position animations are now done by a animated index value to prevent it from animating when the device rotates
- when the device screen size changes (ex: device rotation), it now snaps to the current folder page, as before it would just stay in between the two pages.
When the device is rotated and autorotate is off, a button will appear
on the navigation panel to manually rotate.
This is specific to the navigation panel, perhaps we can have a floating
button in gesture-only mode similar to Android?
TODO: PoC, I haven't yet actually tested this on device. I also need to
make sure that I check for whether autorotation is enabled on the
output.
This merge request implements a more mobile optimized solution for popup notification.
-
The current controls are:
- Swipe up to move the notification to the notification center.
- Swipe left/right to dismiss the notification entirely.
- If multiple popup notifications are grouped together, tap on the bottom area to view them in a expanded view.
What still needs to be done:
- ~~For notification without a default action, tapping on them should probably open up the associated app.~~ Note: I think I will add this in a separate merge request as it probably should be the case regardless if the notification is a popup
- ~~Swiping down on a notification currently does nothing. Maybe we should map this to a notification action?~~ Note: I have some ideas I will try later, though for now, I will leave this action blank
- ~~The expanded view of notifications should be able to be dismissed by swiping up/down on the top/bottom of the list.~~ Note: Added
- Investigate further into how to remove the current desktop popup notifications.
- ~~Code clean up.~~ Note: The code is at least a bit better
Single popup notification:

Multiple popup notifications:

Multiple popup notifications in the expanded view:

Any feedback would be greatly appreciated.
Currently modules are initialized as QQuickItems. In order to be able to
add custom properties for modules to set in the future, introduce
InitialStartModule as the top-level QML object for modules to
initialize.
Currently only two properties are implemented: `available` for whether
to show the module in the wizard, and `contentItem` for the visual
module item.
This fixes in issue where the favorites bar icons would previously animate based off of position changes. This was causing unwanted animations in situations like screen rotation and login.
This fixes an issue where if the device is rotated on the 2nd or further page, the page would not snap immediately back to the right position, but would instead animate.
Some changes in Kirigami.Dialog recently completely broke the dialog, we
apparently now have to manually set dimensions on children. Use
DatePopup from Kirigami Addons in order to reduce the code needed here.
Make sure that the view colorset is correct, remove unnecessary layer
(clip is enabled), and remove unnecessary visibility hack for the
notifications widget.
Previously, we had a silent failure of the dbus call to "reloadConfig"
which turned out to be a signal and not a method that we can call. To
reload effects, we need to manually call dbus to load and unload each
individual one. A similar situation exists for scripts, except that we
only unload scripts through individual calls, and call `start` to load
all of the enabled scripts at once.
This avoids having to completely load the quicksettings, status bar,
media widget, and notifications list from scratch when the view changes.
We now have a single instance of each component which is reparented to
the new view (portrait/landscape).
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/406