Commit graph

149 commits

Author SHA1 Message Date
Micah Stanley
e0dd65fa26 Notifications and Media Control Design Adjustments
Adjusted the colors of the notifications and media controls to help them fit in better together.

![Screenshot_20240729_045620](/uploads/4190227795db932ebead005c67510b45/Screenshot_20240729_045620.png)

![Screenshot_20240729_045637](/uploads/feb63760194ccc671d80c4279ab7b526/Screenshot_20240729_045637.png)
2024-08-01 01:18:33 +00:00
Micah Stanley
d42d36129d widgets/mediacontrols: Fix usage in action drawer and height animation
Fixes an issue where if the media controls were active and the action drawer was flicked opened, sometimes it would not fully open.

Changes include:
1. Media controls will now no longer animate its height if `implicitHeight` is 0
2. The action drawer animation code was reworked to allow its height to change dynamically.
2024-07-31 14:16:13 +00:00
Devin Lin
20efd102f3 actioncenter: Ensure window gets raised over status bar
Potential fix for #358, haven't yet verified on device
2024-07-29 21:08:54 +00:00
Devin Lin
8ca80841d2 actiondrawer: Share quick settings model between landscape and portrait
Don't recreate the quick settings model when switching between landscape
and portrait. This should improve the performance of screen rotation.
2024-07-27 11:02:48 -04:00
Devin Lin
eb9509ce68 Remove trailing whitespace 2024-07-26 23:47:44 -04:00
Devin Lin
7f011e92ed quicksettings: Use standard corner radius 2024-07-15 18:45:33 -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
Mr. Athozus
49a3579c55 Use marquee label for quicksettings titles 2024-06-29 20:35:42 +00:00
Devin Lin
acde5b389d lockscreen: Dynamically load status bar and action drawer as needed for performance
Currently the lockscreen takes 5 seconds to load for me on the OnePlus 6. This MR moves the quicksettings and status bar to only load once the initial lockscreen has loaded (to avoid blocking it). This brings it down the initial load to 1 second for me.
2024-06-29 20:29:06 +00:00
Devin Lin
e2e6590222 startupfeedback: Add support for multiple screens
Addresses https://invent.kde.org/plasma/plasma-mobile/-/issues/175
2024-06-23 16:48:32 +00:00
Micah Stanley
600fd05900 actiondrawer: Added the Over-Scroll Effect to all Portrait Mode Quick Settings States
Brought the over-scroll effect found in the pinned quick settings panel to all the portrait mode quick settings states.
This helps improve the user experience while also bringing more consistency when pulling down the panel.

![over-scroll](/uploads/a8531b6fb51fde6fc7dc9c9647945899/over-scroll.gif)
2024-06-22 04:50:09 +00:00
Marius P
17e92e72fc Proofreading 2024-06-17 00:02:08 +03:00
Fushan Wen
f3f66a5d07 quicksettings: port BrightnessItem away from dataengine 2024-03-03 16:15:01 +00:00
Devin Lin
83ce339cda components/hapticsplugin: Introduce direct haptics API for hfd-service
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/270

Introduce a direct haptics API for now for shell usage, and port to it. Also remove the vibration intensity setting as that didn't do anything.
2023-11-15 08:13:25 -08:00
ivan tkachenko
22f7d490ba
Revert "Port away from PlasmaCore and PlasmaExtras to Kirigami"
This (partially) reverts commit 127bbdf653.

Only incorrect changes from Kirigami.Units.largeSpacing to
Kirigami.Units.gridUnit are reverted. Only Plasma.Units were buggy.
2023-11-08 21:16:19 +03:00
Yari Polla
4f45654af6 Port mobileshell plugins to ecm_add_qml_module 2023-11-02 11:08:17 +00:00
Devin Lin
552ab53b49 components: Add SwipeArea filter modes 2023-09-30 10:06:41 -07:00
Devin Lin
911d41e5ce actiondrawer: Port from Flickable to SwipeArea 2023-09-29 22:57:24 -07:00
Devin Lin
7e012fc49a porting: Port away from PlasmaCore colors 2023-09-26 21:21:06 -07:00
Devin Lin
27e63a167d porting: Finish ksvg port 2023-09-26 21:18:39 -07:00
Nate Graham
cc50aee72d Remove versioning from PlasmaCore module imports
It's unneeded in Qt6 and can cause subtle issues.
2023-09-05 09:34:49 -06:00
Marco Martin
42cccf8e7f port to Kirigami.Icon
Part of https://invent.kde.org/plasma/plasma-workspace/-/issues/82

PlasmaCore.IconItem will be removed; now only the kirigami icon
should be used.
2023-08-18 09:08:07 +00:00
Devin Lin
2801ad2d8e actiondrawer: Use proper units and adjust sizing 2023-07-24 22:46:50 -04:00
Devin Lin
1963340d4f Switch some uses of IconItem to Kirigami.Icon, and fix some theme porting 2023-07-24 22:24:23 -04:00
Alexey Andreyev
127bbdf653 Port away from PlasmaCore and PlasmaExtras to Kirigami
See also:

https://pointieststick.com/2023/06/14/call-to-action-easy-porting-opportunity-in-plasma/
2023-07-25 01:13:52 +00:00
Alexey Andreyev
2275e2d7dd port QML to KSvg
Search and replace all the occurrences of Svg/FrameSvgItem/SvgItem
to their new implementation from KSvg.
Changes only namespace, API is the same

See also:
https://invent.kde.org/frameworks/ksvg/-/issues/1
2023-07-10 02:04:42 +03:00
Devin Lin
dffa0a9581 components: Port to MultiEffect 2023-05-12 22:07:48 -04:00
Devin Lin
32af510193 actiondrawer: Revert flickable change
Reverts the flickable change from 238d8a78cf, it seems to cause the animation to reset when dragging from pinned -> full size.
2023-03-25 23:45:48 -07:00
Yari Polla
238d8a78cf components/mobileshell: resize flickables 2023-03-21 12:03:05 +01:00
Devin Lin
f25840bfc2 mobileshellstate: Move to DBus API instead of trying to use shared QML context
This also allows us to trigger behaviour from other processes that import mobileshell
2023-03-19 18:32:52 -07:00
Devin Lin
2d1610aaa2 mobileshell: Add constants singleton to reduce dependency on mobileshellstate 2023-03-18 22:06:48 -07:00
Devin Lin
95d1ec87b1 actiondrawer: Smoothen the brightness slider so that it doesn't jump when sending events 2023-03-18 20:05:44 -07:00
Devin Lin
2653e2d816 actiondrawer: Fix typo 2023-03-18 17:32:19 -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
Marco Martin
acd8605a4f Port dataengine usage to plasma5support
DataEngines are deprecated and are being splitted in a (temporary lived)
compat library called plasma5support
2023-03-08 14:26:36 +01:00
Yari Polla
2cf0d35f0c Update file ActionDrawerOpenSurface.qml 2023-03-06 11:49:25 +00:00
Devin Lin
f0c756214a Port QtGraphicalEffects 2023-03-03 06:01:23 +00:00
Devin Lin
c873dffce8 homescreen: Fix bottom margin in gesture mode 2022-12-10 22:05:25 -05:00
Devin Lin
1c82b58c11 actiondrawer: Load async 2022-12-10 21:40:33 -05:00
Devin Lin
bdcbe4d6f7 mobileshellstate: Heavily refactor to remove global shell margins to fix window binding loops
Having a global set margins and orientation (that were calculated from the panel containment) caused a lot of issues with the way bindings were evaluated across panels, and with high coupling.

Now use properties from within containments to determine shell margins instead, which removes the dependency on other containments for measurements. This allows us to get rid of TaskPanelControls as well!

Fixes: https://invent.kde.org/teams/plasma-mobile/issues/-/issues/198
2022-12-10 21:05:13 -05:00
Devin Lin
6314aaf4ae actiondrawer: Use simpler and more performant widescreen panel logic without clipping 2022-12-06 19:01:42 -05:00
Devin Lin
79798d57e7 actiondrawer: Introduce fix for black text even when opacity is 0 2022-12-05 11:12:45 -05:00
Devin Lin
79fe77eaea actiondrawer: Use Expo animations for pane movement 2022-12-04 12:09:00 -05:00
Devin Lin
146bccc57f actiondrawer: Fix call to non-existent property 2022-11-24 12:04:11 -05:00
Devin Lin
f4877406e3 shell: Update to new usage of FormComboBoxDelegate 2022-11-18 17:37:07 -05: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
f85df674f1 quicksettings: Limit to 5 rows maximum on one page
Any more than that, and it gets disorienting for long phones.
2022-11-11 21:29:05 -05:00
Devin Lin
ff51677daa quicksettings: Fix scrollview indicators 2022-09-24 17:34:57 -04:00
Devin Lin
1830b9dd2a quicksettings/donotdisturb: Move do not disturb button to quick setting 2022-09-10 12:41:08 -04:00
Devin Lin
620fd8a433 quicksettings: Fix row count calculation 2022-07-10 23:18:34 -04:00
Devin Lin
fbc644fced mobileshell: Implement base flickable with higher maximum swipe speed 2022-07-08 21:59:55 -04:00
Devin Lin
ba597e1de2 homescreens/halcyon: Turn off layer, and use handlers for grid delegates 2022-06-28 12:31:18 -04:00
Devin Lin
3a0a744051 quicksettings: Fix brightness slider alignment, and forced row count 2022-06-27 23:47:51 -04:00
Yari Polla
d8399e88be toppanel/notifications: add clean all and do not disturb
Hi, this MR adds "clear all" and "do not disturb" buttons to `NotificationsWidget`.

Few other corrections have been made:
 - Transitions should now work correctly, plus they can be disabled via `MobileShell.MobileShellSettings.animationsEnabled`;
 - Loaders are now asynchronous;
 - List items have now their own margins, in order to not clip their shadows.\

It only remains to implement a context menu to set do not disturb mode for a given period of time. I think it's a secondary feature on which we can work later, but in case tell me what to do.

Unfortunately I can't test the lockscreen on a phone at the moment, and I cannot take a performance test as well. It would be great if someone tested all these things, otherwise I'll provide as soon as possible.

Closes: https://invent.kde.org/plasma/plasma-mobile/-/issues/134
2022-06-25 12:35:15 -04:00
Devin Lin
ee13948d37 tests: Add new folder for test snippets, and add QuickSettingsTest 2022-06-06 21:26:37 -04:00
Devin Lin
f8049783af quicksettings: Add simple and performant shadow to delegates 2022-06-03 19:36:44 -04:00
Devin Lin
221799828d kcm: Add ability to customise mode of action drawer swipe down 2022-05-30 23:37:00 -04:00
Aleix Pol
55eadf0377 QuickSettings: Provide a small test app to run QuickSettings
It's useful to limit what you are testing.
2022-05-30 00:07:52 +00:00
Devin Lin
7ecb92d3dd actiondrawer: Improve openToPinnedMode to have drawer already maximized when dragging 2022-05-26 18:11:01 -04:00
Yari Polla
aa4ddf8afd change property name 2022-05-25 18:13:29 +02:00
Yari Polla
fb8494fec4 actiondrawer: add ability to open and expand quicksettings with one stroke 2022-05-25 03:03:21 +02:00
Devin Lin
427c177a44 quicksettings: Remove debug message 2022-05-20 23:44:02 -04:00
Devin Lin
3e22b962f2 quicksettings: Fix enabled text always displaying "On" 2022-05-20 09:59:58 -04:00
Yari Polla
a2a9384bea quicksettings: few other corrections 2022-05-17 00:55:31 +00:00
Yari Polla
47845000a7 quicksettings: bring back notification glow and well-positioned clock 2022-05-17 00:55:31 +00:00
Yari Polla
fa759eb79e remove useless parameter 2022-05-17 00:55:31 +00:00
Yari Polla
b429b9c34e quicksettings: few corrections for landscape view 2022-05-17 00:55:31 +00:00
Yari Polla
ab91a42e9e quicksettings: fix media widget in landscape view 2022-05-17 00:55:31 +00:00
Yari Polla
ed0030eea3 quicksettings: fix landscape view 2022-05-17 00:55:31 +00:00
Yari Polla
ee951627b3 quicksettings: discern between portrait and landscape view 2022-05-17 00:55:31 +00:00
Yari Polla
166460f4c2 quicksettings: almost graphics fixes 2022-05-17 00:55:31 +00:00
Yari Polla
0f7dc0cf05 quicksettings: implement swipe view 2022-05-17 00:55:31 +00:00
Yari Polla
863485075c quicksettings: remove unused rightPadding property in MarqueeLabel 2022-04-30 15:16:02 +00:00
Devin Lin
ce06af0e8a Fix some animations not following setting 2022-04-30 11:07:07 -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
151bb9dbfc quicksettings: Fix delegate text size regression 2022-04-28 20:15:13 -04:00
Yari Polla
8f1289139f quicksettings: use MarqueeLabel for quicksettings status label 2022-04-28 21:04:19 +00: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
b3884be926 actiondrawer: Dismiss on click on empty background area 2022-04-07 20:23:36 -04:00
Devin Lin
57192b772b actiondrawer: Add restricted permission mode, and implement on lockscreen 2022-04-07 14:11:08 -04:00
Devin Lin
b905bafcb5 taskswitcher: Improve zoom animation and add cursor shape on tasks 2022-04-06 22:08:47 -04:00
Devin Lin
6830370b55 quicksettings: Scale animation on delegate tap 2022-04-06 21:55:06 -04:00
Devin Lin
192d36da46 quicksettings: Improve text contrast 2022-04-06 20:32:38 -04:00
Devin Lin
cec4f412d7 actiondrawer: Use higher quicksettings text contrast 2022-04-06 13:48:17 -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
5cb056dd3e actiondrawer: Darken landscape drawer background to be easier to read 2022-02-19 22:08:58 -05:00
Devin Lin
6d6b38ac46 quicksettings: Add status for mobile data not being available 2022-02-12 23:08:28 -05:00
Devin Lin
0131710c23 mmplugin: Use NM autoconnect instead of wwanEnabled for mobile data
Add supported function
fix
fix
fix
fix
fix
fix
fix
fix
cleanup
fix
fix
fix
fix
2022-02-12 23:08:23 -05:00
Devin Lin
dca8064ca2 actiondrawer: Use passed in notifications model and settings 2022-02-11 17:50:17 -05:00
Devin Lin
b323a83add quicksettings: Make mobile data quick setting use NM API directly 2022-02-10 22:50:09 -05:00
Devin Lin
8f732c330f actiondrawer: Fix widget references 2022-01-03 00:36:58 -05:00
Devin Lin
906c169f26 startupnotifier: Import and integrate into homescreen for performance 2021-12-29 00:08:32 -05:00
Devin Lin
516c690038 actiondrawer: Fix non-existent function call 2021-12-27 19:59:25 -05:00
Devin Lin
484e088508 actiondrawer: Reduce background opacity if no notifications are shown 2021-12-27 19:13:35 -05:00
Devin Lin
7adea6fd3d actiondrawer: Ensure that new swipes always re-open the overlay 2021-12-27 19:03:00 -05:00
Devin Lin
6653ad6e54 panel: Refactor panel and implement blue ocean mockups 2021-12-22 23:29:00 +00:00