Commit graph

40 commits

Author SHA1 Message Date
Micah Stanley
eba6074161 notifications: Implement popup notifications
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:

![notification_1](/uploads/63d12be6da1dd2676de17940dcadbdfa/notification_1.gif)

Multiple popup notifications:

![notification_2](/uploads/907a14b772f66f46040c28342f4dcf02/notification_2.gif)

Multiple popup notifications in the expanded view:

![notification_3](/uploads/9a7cd09a6bb8a0f7ee70e5bcf7c29c6b/notification_3.gif)

Any feedback would be greatly appreciated.
2024-11-07 16:13:06 +00:00
Nicolas Fella
6da6f3fd55 Port to KStandardActions 2024-10-31 08:41:01 +00:00
Nicolas Fella
d49143456e Drop unused link libraries 2024-10-31 08:41:01 +00:00
Micah Stanley
681d1683f5 VolumeOSD: Improve design, and prevent touch events from being taken from outside the osd
Fixes: https://invent.kde.org/plasma/plasma-mobile/-/issues/274

Any feedback on these changes would be much appreciated.

![Screenshot_20241024_093458-1](/uploads/7b4f89ace1a53c559737d1c05d591329/Screenshot_20241024_093458-1.png)
![Screenshot_20241023_070919](/uploads/c7b9a8de7c9bba2de01d734408e02b2b/Screenshot_20241023_070919.png)

Change Log:
- NanoShell FullScreenOverlay was changed to a LayerShellQt Window to keep it on the top layer and to prevent the popup from obsorbing all touch inputs.
- New animations were added to the volume popup.
- User can now change the volume by touching and dragging on the popup
- The mute button on the popup was fixed
- Mute buttons were added next to the volume sliders in the AudioApplet page
- Volume icons now dynamically update to the volume level
- Visual design adjustments
2024-10-25 15:52:49 +00:00
Devin Lin
8f79654989 widgets/notifications: Remove accidental dependency on being an applet
Followup to https://invent.kde.org/plasma/plasma-mobile/-/merge_requests/558 and removes the dependency on being an applet, as it causes the notifications to break on the lockscreen
2024-07-28 14:54:14 -04:00
Devin Lin
2d2b7407a6 startupfeedback: Change to be window based and controlled by a model
This makes the startup feedback more robust, by having instances be controlled by a model which can listen to window changes. Being window based also allows for the close button and gestures to work properly with it, since it will show up in the task switcher as well.

Fixes:
* https://invent.kde.org/plasma/plasma-mobile/-/issues/357
* https://invent.kde.org/plasma/plasma-mobile/-/issues/338
* https://invent.kde.org/plasma/plasma-mobile/-/issues/335 (dark themes now tint the background color)
* https://invent.kde.org/plasma/plasma-mobile/-/issues/330
* https://invent.kde.org/plasma/plasma-mobile/-/issues/30
2024-07-13 16:30:07 +00:00
Nicolas Fella
628d248be2 Add QML module dependency 2024-06-09 22:56:32 +02:00
Nicolas Fella
0f99a3c8c1 Adapt to plasma-framework targets being renamed 2023-11-23 23:42:47 +01:00
Jonathan Esk-Riddell
67af6f35a6 use renamed kwayland 2023-11-23 18:54:43 +00:00
Yari Polla
4f45654af6 Port mobileshell plugins to ecm_add_qml_module 2023-11-02 11:08:17 +00:00
Devin Lin
2d37ef0771 components: Introduce SwipeArea component 2023-09-29 22:56:49 -07:00
Devin Lin
76b3c4ec4d mobileshell: Remove unused displaysmodel 2023-03-18 19:34:35 -07:00
Devin Lin
79e99a9cfe shellsettingsplugin: Extract out from mobileshell component 2023-03-18 12:28:28 -07:00
Devin Lin
462d99b83f quicksettings: Extract out from mobileshell into separate plugin 2023-03-16 19:44:36 -07:00
Devin Lin
0775c56153 windowplugin: Extract out windowutil from mobileshell to separate plugin
This allows us in the future to use mobileshell without having the WindowUtil singleton loaded (which does a bunch of wayland calls that aren't necessary for most applications).
2023-03-15 15:12:23 +00:00
Devin Lin
1dbb1c78f6 Port to Qt6/KF6 2023-03-03 06:01:23 +00:00
David Redondo
750d5581ef Revert "Show all headers in qtc6"
There was no consensus for this in Plasma.
This reverts commit c79ca828f3.
2023-01-24 08:51:18 +01:00
Laurent Montel
c79ca828f3 Show all headers in qtc6 2023-01-22 18:30:45 +00:00
Nicolas Fella
a0fe7284ee Add missing KPackage link 2022-11-28 13:10:21 +01:00
Devin Lin
df65a0e0f2 mobileshell: Remove compile time QtFeedback dependency, and make it optional 2022-11-12 11:15:36 -05:00
Devin Lin
7d3bf39750 mobileshell: Refactor and extract state to mobileshellstate plugin
This avoids mixing plasmashell state with our MobileShell component library (which really shouldn't have state at all).
2022-11-12 11:15:36 -05:00
Devin Lin
6ed9a7d65a quicksettings: Move related files into folder 2022-06-18 17:14:21 -04:00
Devin Lin
b41e1f2b8a homescreen: Start refactoring and cleaning
fix
2022-06-18 15:42:39 -04:00
Yari Polla
0f7dc0cf05 quicksettings: implement swipe view 2022-05-17 00:55:31 +00:00
Volker Krause
4b1c8dcc59 Use version-less macro for Qt6 2022-05-13 17:30:45 +02:00
Laurent Montel
2da23eae0a Adapt build system for building against qt6 2022-05-13 08:27:13 +02:00
Devin Lin
2201ebd1d7 Remove QtFeedback dependency 2022-04-29 18:59:14 -04:00
Devin Lin
3353cfc498 kcm: Add vibration setting for shell, and add vibrations
We can control shell vibrations from here, which can be replaced once there is a mechanism to control system-wide vibrations for QtFeedback.
2022-04-29 16:15:59 -04:00
Devin Lin
2deea1b4d0 components: Port Direction enum to c++ to improve load times
According to flame graph testing with qmlprofiler, this caused quite some overhead in QML.
2022-04-10 13:28:32 -04:00
Devin Lin
3969973e51 mobileshell: Refactor and collapse stackBefore and stackAfter into ShellUtil 2022-04-07 10:52:12 -04:00
Devin Lin
f861e2df3f mobileshell: Move KWayland related window functions to utility class 2022-04-06 17:18:20 -04:00
Devin Lin
2e6c1f837e homescreen: Collapse library into mobileshell and containment 2022-04-05 22:06:05 -04:00
Devin Lin
210042a6bf libmobileshell: Move back to QML plugin
Move from a C++ library + QML plugin to a QML plugin only for simplicity, since the homescreen switching architecture will be done from Plasma, and so use of the shell library only needs to be from QML.
2022-03-21 10:00:09 -04:00
Devin Lin
cf7e48e65c components/mobileshell: Move to libmobileshell library 2022-03-16 23:20:51 -04:00
Devin Lin
b92ba78e00 mobileshell: Move quicksettings to folder 2022-03-10 23:52:53 -05:00
Devin Lin
5e04c65550 Add option to toggle qt quick compiler 2022-03-10 22:40:21 -05:00
Devin Lin
e1d1f8ee1a components/mobileshell: Use qrc and qtquickcompiler to improve load times
Also enables us to check for QML syntax errors and compile time.
2022-03-05 13:52:26 -05:00
Devin Lin
8f9f722ca7 navigationpanel: Add ability to toggle between gesture only and shown navigation panel modes
Addresses: https://invent.kde.org/plasma/plasma-phone-components/-/issues/140
2022-02-13 04:23:57 +00:00
Devin Lin
2d87bb3e65 taskpanel: Extract navbar and task switcher to components/mobileshell 2021-12-24 19:18:38 -05:00
Devin Lin
6653ad6e54 panel: Refactor panel and implement blue ocean mockups 2021-12-22 23:29:00 +00:00