Commit graph

101 commits

Author SHA1 Message Date
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
2dc7546c3b panel: Fix it not being full-width at a certain width
Sometimes when the screen is wide enough, the panel doesn't extend all the way. Ensure that it does.
2024-06-29 00:41:44 +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
Devin Lin
c7c44107a6 panel: Ensure panel is not floating 2023-11-16 23:48:24 -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
c094eb7553 panel: Fix panelview binding 2023-10-22 10:53:55 -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
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
0e4b1da9a1 volumeosd: Extract out singleton so that it's only loaded once in plasmashell 2023-03-19 21:10:49 -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
158af43fd4 audio: Refactor applet and extract singleton to MobileShellState
The eventual goal is to have as few singletons with state as possible in the mobileshell component when it is imported into components such as the lockscreen.

This doesn't fully accomplish it, but moves the audio provider singleton to MobileShellState, which will eventually need to be prevented from importing into non plasmashell processes.

This also disables the sound feedback when changing volume, since it can be a source of lag when showing the applet.
2023-03-16 07:21:01 +00: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
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
1830b9dd2a quicksettings/donotdisturb: Move do not disturb button to quick setting 2022-09-10 12:41:08 -04:00
Devin Lin
775db10f9b panel: Don't draw plasmoid background 2022-07-27 17:48:10 -04:00
Devin Lin
824a9f33ed homescreens/halcyon: Two column layout, and refactor 2022-06-28 00:43:40 -04:00
Devin Lin
f7c6f6d30f panel: Enforce panel thickness 2022-06-27 18:08:42 -04:00
Devin Lin
a607fc2600 panel & taskpanel: Only opaque if windows are maximized 2022-06-27 14:52:16 -04:00
Devin Lin
57192b772b actiondrawer: Add restricted permission mode, and implement on lockscreen 2022-04-07 14:11:08 -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
9941c23752 quicksettings: Move all quick settings to kpackage 2022-03-16 23:20:51 -04:00
Devin Lin
dca8064ca2 actiondrawer: Use passed in notifications model and settings 2022-02-11 17:50:17 -05:00
Devin Lin
906c169f26 startupnotifier: Import and integrate into homescreen for performance 2021-12-29 00:08:32 -05:00
Devin Lin
6653ad6e54 panel: Refactor panel and implement blue ocean mockups 2021-12-22 23:29:00 +00:00
Devin Lin
25e0f99f43 homescreen: Add swipe down panel gesture 2021-10-28 21:54:52 -04:00
Devin Lin
7df05e09be panel: Rework panel layout, and refactoring 2021-10-12 13:50:36 +00:00
Aleix Pol
4bba6ac402 units -> PlasmaCore.Units 2021-09-13 18:59:35 +02:00
Aleix Pol
31448728b8 Make the phoneshell a bit more flexible
Use plasma-open-settings to open configs instead of directly
plasma-settings.

This way we're less dependent on specific set up.
2021-08-31 17:23:20 +02:00
Aleix Pol
9dfac82863 Move the Battery settings with its provider
And make use of it to show if it's plugged or not
2021-07-21 13:36:43 +00:00
Aleix Pol
9ac1cc139e Move QuickSettingsModel to C++ 2021-07-21 13:36:43 +00:00
Aleix Pol
0d7f10abbc Move the Volume quick setting with its provider
So not to rely on global identifiers
2021-07-21 13:36:43 +00:00
Marco Martin
7ef50d4af4 Top panel: some simplification and smoother
Simplify the code of the collapsing quick settings panel a bit, and make animations and positioning way smoother
2021-06-16 09:30:28 +00:00
Aleix Pol
0fc51bfb1e Fix warning
Don't check a setting that doesn't exist.
2021-06-10 16:14:59 +02:00
Devin Lin
40419e48bc Add advanced VolumeOSD to top panel 2021-06-09 13:28:59 -04:00
Marco Martin
5da75348f7 Use Plasma Theme and layout fixes
This moves all background rendering of elements in the top sliding panel to use the plasma theme, making full use of themes that can be downloaded from the store, doing so decreases the usage of the Qt.GraphicalEffects import which is slow and not in Qt6. There are some layout and behavioral fixes especially in widescreen mode
2021-06-09 08:44:48 +00:00
Devin Lin
f292ca20f4 panel: remove unnecessary color changes for header panel when quicksettings open 2021-06-04 21:34:09 +00:00
Devin Lin
f97d5db94b Skip panel window open to improve performance 2021-05-09 19:32:32 -04:00
Marco Martin
1aca3951a1 remove unwanted changes in the top panel 2021-05-04 12:46:23 +02:00
Marco Martin
e4d297dd73 multi page horizontal scrolling
possibility of dragging icons and applets beyon the horizontal screen
boundaries, creating multiple pages that can be horizontally flicked
2021-05-04 12:42:14 +02:00
Devin Lin
0ed2053e79 Rework top panel and improve appearance 2021-04-09 20:59:05 +00:00
Devin Lin
cb72ee350d Fix panel clock from not respecting 12/24 hour settings 2021-03-09 19:04:29 +00:00
Marco Martin
113fe48caf 2 step top panel slide
a top panel can be just "half" opened showing only the top row of icons. don't duplicate the icons but dynamically fade in/out those making also possible to open the drawer completely by a single, longer swipe
2021-03-09 12:52:17 +00:00
Nicolas Fella
21a3bcafe4 Convert license headers to SPDX 2021-03-02 22:45:25 +01:00
Noah Davis
ed4d713ffb Use Header colors for top panel
Apps use this colorset now. Not using this color set causes the top panel to look weird.
2021-02-28 00:23:21 -05:00