Commit graph

3241 commits

Author SHA1 Message Date
Devin Lin
3d9ddbde15 navigationpanel: Add manual screen rotation button
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.
2024-11-09 17:24:23 +00:00
Devin Lin
aa3e42f65a homescreens/folio: Fix favourites bar ghost position when drag out
Fix the scenario where the favourites bar ghost position is not removed
when the user drags the delegate out of the bar area.
2024-11-09 17:12:04 +00:00
Devin Lin
5decdbe2b5 quicksettings/autorotate: Properly listen to external changes
This ensures that external changes to screen rotation are listened to
and updated in the quicksetting.

TODO: haven't actually tested on device yet
2024-11-09 09:39:55 +00:00
l10n daemon script
57a35ddd0c GIT_SILENT Sync po/docbooks with svn 2024-11-09 01:33:06 +00:00
Devin Lin
f3dc108602 actiondrawer: Use layershell to avoid taking focus from current window
We can use layershell to avoid taking focus from the current window,
which avoids any unnecessary behavior from an unfocus event.
2024-11-07 20:06:22 -08:00
Devin Lin
6e7376990b envmanager: Toggle interactive window moving
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/340

This toggles whether interactive window moving is enabled based on
whether docked mode is enabled.

Requires https://invent.kde.org/plasma/kwin/-/merge_requests/6745
2024-11-08 03:03:41 +00:00
l10n daemon script
e5739eb339 GIT_SILENT Sync po/docbooks with svn 2024-11-08 01:33:30 +00:00
l10n daemon script
a2d8105d08 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-11-08 01:25:01 +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
Devin Lin
e66d88a754 initialstart: Introduce InitialStartModule as top level item for modules
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.
2024-11-06 22:07:50 -08:00
Micah Stanley
2a5dec9cf0 homescreens/folio: FavouritesBar: Icon position animation bugfix
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.
2024-11-07 05:17:57 +00:00
Micah Stanley
f5728e1a21 homescreens/folio: Homescreen page snapping position Bugfix
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.
2024-11-07 05:12:47 +00:00
l10n daemon script
df7aae2b4e GIT_SILENT Sync po/docbooks with svn 2024-11-07 01:34:32 +00:00
l10n daemon script
c99d745904 GIT_SILENT Sync po/docbooks with svn 2024-11-06 01:34:04 +00:00
Luis Büchi
2d47217829 disable electric border highlighting by default in envmanager 2024-11-05 09:03:45 +01:00
Devin Lin
6a5a89313f kcms/time: Fix layout of time dialog and port date dialog to DatePopup
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.
2024-11-04 20:34:57 -08:00
Devin Lin
4a86ad8c06 actiondrawer: Cleanup and simplify
Make sure that the view colorset is correct, remove unnecessary layer
(clip is enabled), and remove unnecessary visibility hack for the
notifications widget.
2024-11-05 03:42:25 +00:00
l10n daemon script
6d8f0f2564 GIT_SILENT Sync po/docbooks with svn 2024-11-02 01:32:42 +00:00
l10n daemon script
48ec53bff8 GIT_SILENT Sync po/docbooks with svn 2024-11-01 01:32:19 +00:00
Devin Lin
051e8b7903 envmanager: Fix KWin effect and script reloading
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.
2024-10-31 20:33:13 +00:00
Devin Lin
76882f5b5d actiondrawer: Share components between portrait and landscape
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
2024-10-31 15:27:00 +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
Devin Lin
c4b49cf086 hapticsplugin: Only initialize dbus interface if used
Only create dbus interface when needed to avoid wasting resources.
2024-10-31 03:27:36 +00:00
Devin Lin
3fd81679ed homescreens/folio: Remove icon on one of the settings delegates
None of the other settings delegates have icons, it makes it look
strange.
2024-10-31 03:15:22 +00:00
Devin Lin
57caf24504 homescreens/folio: Never open both search and app drawer
This ensures that the search widget and app drawer never simultaneously
both get opened.
2024-10-31 02:55:24 +00:00
Devin Lin
11a45f94d2 homescreens: Use WheelHandler on app list
Use Kirigami.WheelHandler on the app list to give a native feeling
scrolling experience with the mouse wheel.
2024-10-31 00:49:41 +00:00
Devin Lin
35b1128d1d actioncenter: Reduce usage of transforms and cleanup
Simplify positioning of some components by avoiding transforms and using
simple anchors to improve performance. Also cleanup unused properties.
2024-10-31 00:48:36 +00:00
Devin Lin
159e3bb3a6 homescreens/folio: Fix app icons being rounded to predefined sizes
This fixes the app icon size setting, which used to round to predefined
sizes regardless of the actual size setting.
2024-10-29 19:23:25 -07:00
l10n daemon script
eb908d9cd7 GIT_SILENT Sync po/docbooks with svn 2024-10-29 01:32:14 +00:00
Micah Stanley
f9630ba178 VolumeOSD: Increase animation duration and bugfix for audio applet page 2024-10-28 06:36:16 +00:00
l10n daemon script
07836309c2 GIT_SILENT Sync po/docbooks with svn 2024-10-28 01:37:13 +00:00
l10n daemon script
6759ec9307 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-10-28 01:24:44 +00:00
l10n daemon script
83229e44f0 GIT_SILENT Sync po/docbooks with svn 2024-10-27 01:39:32 +00:00
Micah Stanley
205edd485c VolumeOSD: Prevent Stealing Focus from Applications
Before:

![Screenshot_20241025_051928](/uploads/9b41d77b5c673bfeccfe2518ccd40985/Screenshot_20241025_051928.png)

After:

![Screenshot_20241025_051550](/uploads/a357dd3271aba056f667410286cfed95/Screenshot_20241025_051550.png)
2024-10-26 18:50:40 +00:00
l10n daemon script
4c354eb57a GIT_SILENT Sync po/docbooks with svn 2024-10-26 01:34:41 +00:00
Sebastian Kügler
50ba0d6897 [mobileshell kcm]: option to control status bar scale
This change adds a drop-down in the mobileshell kcm allowing setting the
status bar height (as its scale factor).

Also, smallish capitalization fix, this page is still not consistent,
but a little more now.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2024-10-25 17:53:25 +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
User8395
889c085c21 quicksettings: fix landscape not being scrollable
Currently, Quick Settings in landscape mode is not scrollable, due to issues with `scrollViewComponent`. This causes some buttons to become unseen in landscape mode but not portrait. This has been solved by deleting `scrollViewComponent` and replacing it with `swipeViewComponent`, to allow swiping to access other buttons in Quick Settings.

Before (docked mode and hotspot are missing):

![screen-recording__1_](/uploads/e0c4eaf22a2ec401c66e9e513e8ce7e1/screen-recording__1_.webm)

After (docked mode and hotspot are there):

![screen-recording](/uploads/404ebbecc87e1b60b2501b81b8ab83ee/screen-recording.webm)

However, with this setup, `resetSwipeView()` doesn't work, and Quick Settings remains at the page it was left at.
2024-10-25 17:02:30 +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
l10n daemon script
8d1bb7642d GIT_SILENT Sync po/docbooks with svn 2024-10-24 01:31:50 +00:00
Sebastian Kügler
f21c55953c [battery]: support multiple batteries in shell's top panel
This change make Plasma Mobile show multiple batteries in the top panel
in case the system has more than one.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2024-10-22 17:03:53 +02:00
Sebastian Kügler
ab957a84f9 [battery]: port battery info to new model
This change ports BatteryInfo away from dataengines to the new battery
model that is also used for Plasma Desktop.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2024-10-22 17:03:53 +02:00
Luis Büchi
3353d45249 reintroduce maximizing task on activating it in switcher
only maximize when not in docked mode to not break windowed workflow
when docked.
BUG: 492077
2024-10-21 11:53:36 +02: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
eecbba3f03 GIT_SILENT Sync po/docbooks with svn 2024-10-19 01:34:22 +00:00
Devin Lin
76826f37f5 taskswitcher: Fix close all button being dark and not interactable
Fix fallout from #574
2024-10-14 19:24:03 -07:00
Micah Stanley
fdc8958ce5 taskswitcher: Gesture Navigation: Quality of Life Improvements
Most Notable Changes Here Include:
1. If the user moves and lifts their finger up halfway up the screen, the navigation gesture will now go home.
2. The task drawer will now move in and out of view depending on the gesture navigation state.
3. The app window will now continue to shrink with resistance as the window moves further up.
4. When in the task drawer, if the user drags up from the bottom, the current task will now follow the users finger like the task does when dragging up from within an app.
5. The task drawer will now slide in from the side when it is not within an app.

I would upload a video here to showcase these changes. However, I was unable to get OBS to record my screen while in my plasma mobile session.
2024-10-15 00:55:29 +00:00
l10n daemon script
971879f10f GIT_SILENT Sync po/docbooks with svn 2024-10-14 01:30:01 +00:00
l10n daemon script
43a8a7de69 GIT_SILENT Sync po/docbooks with svn 2024-10-13 01:30:52 +00:00