Commit graph

186 commits

Author SHA1 Message Date
Micah Stanley
48dedcd546 taskpanel/panel: make navbar and statusbar accessible from within fullscreen windows
These changes make the navigation and status bar accessible from within fullscreen applications by allowing the user to tap on the top or tap or drag on the bottom of the screen.

Also, since the top panel is now over top of all fullscreen applications, this moves the action drawer swipe area back into the status bar.

![navandstatusbar](/uploads/29bce14baf957059669689345c909896/navandstatusbar.gif)
2024-11-25 17:30:47 +00:00
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
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
Devin Lin
5c53f9b6d2 windowplugin: Add per-screen support for WindowMaximizedTracker
Contributes to #317

This refactor changes WindowMaximizedTracker from being a Singleton, and allows for it to be created in a way such that screens can be filtered out.

This fixes external screens from having their homescreen "zoom out" when an app is maximized on another screen.
2024-06-26 00:44:31 +00:00
Marius P
17e92e72fc Proofreading 2024-06-17 00:02:08 +03:00
Devin Lin
154f3af336 taskpanel: Fix close vkbd button not showing
The "active" property of the KWin vkbd interface seems to be working, while "visible" no longer does.

Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/310
2024-03-14 19:15:36 +00:00
Devin Lin
a66d07f3ff taskswitcher: Fix navigation panel position when in landscape mode
It used to get confused when in landscape mode, but the navigation panel is on the bottom of the screen.
2024-03-08 21:00:23 -05:00
Devin Lin
b553850e0a taskpanel: Delay setting panel position on screen change, so shell doesn't crash
Setting it immediately seems to trigger an underlying bug that causes the shell to crash, see https://invent.kde.org/plasma/plasma-mobile/-/issues/321

I've cherry-picked this for Plasma 6 so we don't have this issue on stable, but I'm not sure if we should merge this into master or keep trying to identify the root cause.
2024-03-04 19:20:59 +00:00
Devin Lin
76177166cf navigationpanel: Have it on the bottom if the screen height is large enough 2023-11-22 20:48:22 -08:00
Devin Lin
0a3b198aa6 panels: Mark panel item status to never take focus away from an active app
Fixes https://invent.kde.org/plasma/plasma-mobile/-/issues/269 and https://invent.kde.org/plasma/plasma-mobile/-/issues/266
2023-11-15 04:55:13 +00:00
Devin Lin
a4989d4313 shell: Sync panel code with desktop
This allows us to use desktop panels in the future for convergence.
2023-11-13 22:11:50 -08:00
Devin Lin
d97c8b319e navigationpanel: Make close button also close non-maximized active windows 2023-11-05 20:22:49 +00:00
Devin Lin
f5cdb9a380 navigationpanel: Add setting to always have keyboard toggle shown 2023-11-05 12:14:37 -08:00
Devin Lin
ae0dc228a8 navigationpanel: Delete panel when in gesture-only mode 2023-10-20 22:46:31 -07:00
Devin Lin
a79290d010 taskpanel: Fix rotation position 2023-10-16 22:12:44 -07:00
Marco Martin
d719f407dd Port away from using colorGroup property directly in svg items
SvgItem and FrameSvgItem automatically follow the colorSet of
Kirigami.Theme and to set a custom one the usual inherit api is used

https://invent.kde.org/frameworks/ksvg/-/merge_requests/22 removes those properties
2023-09-05 16:18:47 +00: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
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
Devin Lin
25a513d829 panels: Port to plasma-framework changes 2023-06-12 20:49:54 -04:00
Devin Lin
14f3f07316 Convert more uses of QtGraphicalEffects to MultiEffect 2023-05-13 11:15:57 -04:00
Devin Lin
33771b4afd homescreen: Fix zoom animation behaviour with windows 2023-03-26 11:22:14 -07: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
da6e17f3f4 windowplugin: Use standardized way to know whether a window is showing and maximized 2023-03-18 18:48:49 -07:00
Devin Lin
79e99a9cfe shellsettingsplugin: Extract out from mobileshell component 2023-03-18 12:28:28 -07:00
Devin Lin
9e8838834b taskpanel: Cleanup remnants of old task switcher 2023-03-18 00:02:01 -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
eb03fe8c94 taskswitcher: Port to kwin effect 2023-03-13 22:07:32 -07:00
Devin Lin
ad8f7cf99c Fix accidental commenting 2023-03-02 22:11:51 -08:00
Devin Lin
f0c756214a Port QtGraphicalEffects 2023-03-03 06:01:23 +00:00
Devin Lin
f913039b63 components: Remove splash screen close button support, due to crashing problems 2023-02-14 23:07:38 -08:00
Devin Lin
c02d6418a4 taskpanel: Don't overlay over top panel 2022-12-11 15:06:24 -05:00
Devin Lin
0d9b8e5207 taskpanel: Ensure thickness is enforced 2022-12-10 22:18:35 -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
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
7385ca9dca components/mobileshell: Add mechanism to keep track of and stop launched apps 2022-10-12 17:00:21 -04:00
Devin Lin
5a33b3b4d3 taskpanel: Fix property bindings such that we ensure we have the last say 2022-10-01 22:44:24 +02:00
Devin Lin
c6feac9ce0 taskpanel: Remove keyboard button setting, only show when unsupported 2022-09-12 08:12:24 -04:00
Devin Lin
2aaf5fca98 navigationpanel: Add force keyboard toggle, and add setting 2022-09-11 21:45:12 +00:00
Devin Lin
eff9d3df9a homescreen: Don't play zoom animation when going between maximized window states 2022-06-27 16:53:40 -04:00
Devin Lin
a607fc2600 panel & taskpanel: Only opaque if windows are maximized 2022-06-27 14:52:16 -04:00
Devin Lin
635f86e02f taskpanel: Try to ensure dimension bindings are always set 2022-04-07 22:08:36 -04:00
Devin Lin
0235868fa1 taskpanel: Fix top panel offset in landscape 2022-04-06 23:30:11 -04:00
Devin Lin
3488d2b0f3 panel & taskpanel: Fix panel colour on homescreen when shell windows are open
Fixes #161
2022-04-06 21:18:47 -04:00
Devin Lin
f861e2df3f mobileshell: Move KWayland related window functions to utility class 2022-04-06 17:18:20 -04:00
Devin Lin
72f36f1bf6 libmobileshell: Move non-API components to declarative and use PW API for keyboard
t
2022-03-18 22:59:42 -04:00
Devin Lin
df2eb79559 navigationpanel: Make opaque when keyboard is open
Addresses https://invent.kde.org/plasma/plasma-mobile/-/issues/163
2022-02-21 00:53:28 -05:00
Devin Lin
2fa24cd0e2 taskpanel: Ensure window color group is used, not header
It seems we had this set to the header color group for the longest time, which didn't actually work (it defaulted to the window color group). It appears to have been fixed, and so the issue surfaced.
2022-02-16 21:21:00 -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