Commit graph

400 commits

Author SHA1 Message Date
Christoph Wolk
970dc01ca1 shell/configuration: track unsaved changes signal
plasma-desktop added support for a unsavedChanges property in applet
configuration pages to inform the dialog that the present state is
modifed from the saved state in cases where the automatic tracking of
cfg_ properties does not work. This is intended to replace most uses of
the configurationChanged signal, which does not allow communicating that
the previous state has been restored and saving is no longer necessary.
plasma-mobile automatically saves changes, so does not need to do
special handling here, but it does need to track changes in this
property to work correctly with applets that have switched to this
method.

This change adds a handler for changes to this property similar to the
existing handler for the configurationChanged signal.
2025-04-11 13:54:07 +02:00
Micah Stanley
b1feee5bb4 Lockscreen: Quick Action Button General Improvements
General improvements to the the quick action buttons look and feel. Also, press and hold was added to activate them.

As always, any feedback on these changes is greatly appreciated.

![Screenshot_20250319_230658](/uploads/c2ade0bc4d4fcf3e9ace47acaf94a531/Screenshot_20250319_230658.png)
![Screenshot_20250319_230724](/uploads/1c7d3c7c38607b6e87dbc70830ec4102/Screenshot_20250319_230724.png)
2025-03-21 01:25:34 +00:00
Micah Stanley
e4323f4ef0 notification list: fix notification scrolling within action drawer and lockscreen
This merge request fixes an issue with notification list scrolling and also adds a few general improvements.

To accomplish this, the notification widget was moved outside of the action drawer swipe area and lock screen swipe area, separating them from the parent-child relationship. Instead, the notification widget is now layered separately on top. This change seems to fix the conflict when both areas are accepting swipes from the same direction.

Additionally, changes were made to the notification list widget for the action drawer to make it behave similarly to the folio home screen app library. Specifically, when at the top of the list, one can swipe down over the notification area to expand the action drawer. In landscape mode, the media widget, clock, and date were also added to the notification list to provide more room for viewing notifications when scrolling.

Closes https://invent.kde.org/plasma/plasma-mobile/-/issues/318
2025-03-20 02:06:33 +00:00
Devin Lin
bd895574ff shell: Remove nonexistent tabbar property in Panel
tabbar doesn't seem to exist, so it causes errors in the console.
Removing setting this nonexistent property.
2025-03-19 15:52:50 +00:00
User8395
3a2c3bc742 lockscreen: add quick action buttons
Closes: #441 

Notes:
- Camera cannot be selected as an action due to #377 


![image](/uploads/a97cad90219897b730d88b8aa43d49f3/image.png){width=461 height=288}
2025-03-13 20:11:41 +00:00
Devin Lin
70aef785ca lockscreen: Disable vkbd auto capitalization
Otherwise it could be confusing to users when the vkbd auto capitalizes the first letter when typing in the password.
2025-03-08 00:43:02 -05:00
l10n daemon script
b993b510a4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-12-15 01:40:00 +00:00
Micah Stanley
abb9b963f0 lockscreen: handle backspace and enter key when switching from keypad
This fixes an issue were pressing the backspace or enter key on the keyboard when using the keypad, unexpected results occurred.
This also fixes an issue were if only one key is typed from the initial lockscreen view, the backspace key would not actually do anything.
2024-11-22 01:45:58 +00:00
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
Sebastian Kügler
2b822e8c6a [mobileshell]: apply scale factor to status bar
This change allows scaling of the statusbar (the top panel).

As we have to accommodate for a wide variety of devices with different
physical pixel sizes, we need a way to scale the top panel / status bar.
This change introduces a config value (in plasmamobilerc, such as other
shell settings) that controls this size.

For example (plasmamobilerc):

[General]
statusBarScaleFactor=1.5

(Config UI in kcm mobileshell in separate patch)

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2024-10-25 17:53:25 +00:00
Devin Lin
b6f2740ff4 lockscreen: Forward keyboard key immediately to password bar
Currently, only the second key press gets forwarded to the password bar.
Ensure that the first key is also forwarded correctly.
2024-10-18 22:19:27 -07:00
l10n daemon script
62a2633f72 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-08-28 01:30:06 +00:00
Devin Lin
3adcd1d51c swipearea: Add support for touchpad
This adds support for touchpad scrolling in various shell components, such as the lockscreen, homescreen and action drawer.

Currently TODO because it appears to be very buggy when there is a control underneath that also accepts touchpad input (ex. flickable). The touchpad scroll start appears to get called by Qt, but not the end event, so I am unable to "let go" of the flick. Not sure if it's a wayland issue.

This also appears to not work in the nested KWin session, not sure if it's because of libinput or something
2024-08-01 01:53:52 +00:00
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
Devin Lin
74267a8416 shell: Revert back to original applet expanded mode dialog 2024-07-31 16:00:49 -04:00
Micah Stanley
8b5b728939 lockscreen: Animate keypad header to center when switching to keyboard
![keypad](/uploads/edf433bc413ee11bc34094c22d13fdc5/keypad.gif)
2024-07-31 00:16:50 +00:00
Micah Stanley
d122665eb5 Lock Screen Adjustments
Clock position changed so that it will always be at the top.

The login keypad will now hide when the keyboard is opened.

![Screenshot_20240728_054940](/uploads/be3a5625c10717add38a76dbdded358b/Screenshot_20240728_054940.png)
2024-07-30 02:53:33 +00:00
Devin Lin
eb9509ce68 Remove trailing whitespace 2024-07-26 23:47:44 -04:00
Devin Lin
642392366b lockscreen: Use consistent keypad fade-in animation 2024-07-24 00:02:44 -04:00
Devin Lin
dea468b393 lockscreen: Async load everything and add spinner
This improves the speed initial lockscreen load, and now loads the keypad async. Also adjust the password bar opacity to be consistent with the keys.
2024-07-22 22:22:54 -04:00
Devin Lin
ce3ecd9e4b shell: Sync implementations with Plasma Desktop
This fixes some of the oddities with applets that we experience that are designed for Desktop. We don't really have a need for different behaviour from Desktop, so it's probably best to follow it for the least amount of bugs.

Eventually we perhaps should derive our shell package from desktop?
2024-07-15 18:48:44 -04:00
Devin Lin
0a09d935ac layout-templates: Split out status bar and navigation panel to separate templates
This makes it more modular, and we can use the template in the mobileshellsettings code.
2024-07-15 17:07:26 -04:00
Devin Lin
8c3a6e2b23 lockscreen: Add more spacing between keypad and password bar 2024-07-15 17:01:58 -04:00
Devin Lin
3ca8e47b29 lockscreen: Add support for overflow in the password bar
This is a followup to https://invent.kde.org/plasma/plasma-mobile/-/merge_requests/517 and implements support for passwords longer than the width of the password bar.
2024-07-15 20:43:00 +00:00
Devin Lin
4c552b84be lockscreen: Automatically unlock if keypad is open and screen locker says it's unlocked
Sometimes from suspend, the screen locker only tells us it can be unlocked (and not direct pin entry success), which requires the user to reopen the keypad if it's already open to unlock.
2024-07-08 21:46:42 +00:00
Devin Lin
4cec95a3cc lockscreen: Add loading indicator when status bar is loading
This gives user indication that the status bar is loading, rather than just nothing being there.
2024-07-07 14:24:48 -04:00
Devin Lin
90e65ea031 lockscreen: Reset state when screen is off
Wipe a partially entered password, and the open state of the lockscreen when the screen is off.
Addresses https://invent.kde.org/plasma/plasma-mobile/-/issues/110
2024-07-03 18:06:24 +00:00
Devin Lin
daf43eae27 lockscreen: Fix lockscreen password entry after suspend, and restore passwordless
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/334
2024-07-02 22:10:29 -04: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
403b11c2d7 lockscreen: Fix clock getting animated right after load
Restores a fix for https://invent.kde.org/plasma/plasma-mobile/-/issues/381

The pw notifications model right at load appears to say there are notifications at load, but then fixes itself once the component finishes loading.
2024-06-28 23:25:50 -04:00
l10n daemon script
518b94e018 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-28 01:25:09 +00:00
Devin Lin
5c41092c0f lockscreen: Rework and simplify keypad appearance, and fix lockscreen state
The current lockscreen mockups were originally from this mockup: https://phabricator.kde.org/T12717

There are some issues with it however:
- The 0 key is on the right, which is a bit strange and differs from the layouts of all other platforms
- One-handed usability is worse due to 4 columns instead of 3
- Most mobile lockscreen have the keypad toward the center for one-handed usability, our keypad is stuck to the bottom
- It makes use of a lot of shadows which makes it slower to load
- It's supposed to emulate the design of the keyboard, but it doesn't look like it so it's out of place

The new design is much simpler, with a centered 3 column approach making keys much easier to reach with one hand. It also avoids the use of shadows and layers.

![image](/uploads/52bd7accf2aaffc2b4054e13ac742bce/image.png)

![image](/uploads/4fe8b43abb1f5e2c2b8278f98b28bc71/image.png)

![image](/uploads/a306cfbe628e8b3e49175cd8f8e77ec1/image.png)

TODO:

- Investigate some improvements for keyboard input
2024-06-26 02:57:42 +00:00
Devin Lin
b4f7ca1139 layout-templates: Move default panel configuration to layout template package 2024-06-26 00:57:56 +00:00
Devin Lin
e044c84219 lockscreen: Fix potential cause of input unresponsiveness
BUG: 484054
This is a potential fix for the input to stop working. There was unused code for passwordless login that could cause the "waitingForAuth" variable to never be set to false after user input.
2024-06-23 13:03:12 -04:00
l10n daemon script
00edc45f4d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-22 01:21:15 +00:00
Marius P
17e92e72fc Proofreading 2024-06-17 00:02:08 +03:00
l10n daemon script
9131752fd3 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-06-08 01:20:22 +00:00
F_Chao Fengchao
76d3323e8f Modify the translation method of PasswordBar.qml to i18n. 2024-05-30 11:37:40 +08:00
Marco Mattiolo
eefc04d0c7 drop KX11Extras::compositingActive() as X11 is not supported 2024-05-05 00:45:21 +00:00
l10n daemon script
f7851a3f8f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-04-25 01:16:26 +00:00
l10n daemon script
482f781b8c SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-04-03 01:15:20 +00:00
Marco Martin
260af8e610 Move the lockscreen in the shell package
the lookandfeel package is becomeing a pure repository of
config, the various code pieces are being moved outside
2024-04-02 10:02:29 +00:00
l10n daemon script
28e6d523fb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-03-08 01:13:51 +00:00
l10n daemon script
7f1e574816 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-29 01:12:33 +00:00
l10n daemon script
bba776a5fb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-01-05 02:08:21 +00:00
Devin Lin
1dbd1505dc shell: Move wallpaper selector to homescreens directly 2024-01-02 03:32:15 +00:00
Devin Lin
f4aec3f0fc shell: Fix WallpaperSelector 2023-12-29 12:13:52 -05:00
Devin Lin
1cf51ae694 shell: Fix containment and wallpaper switching from being broken
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/290
2023-12-28 15:55:23 -05:00
l10n daemon script
4d29b0f0ac SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-22 02:13:13 +00:00
l10n daemon script
dbe069edfa SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2023-12-17 02:07:26 +00:00