Commit graph

94 commits

Author SHA1 Message Date
Devin Lin
7cecb980d7 popups: Use dark background and consistent outlines with action drawer
Have popup views use a similar coloring scheme as the action drawer,
which was introduced with
https://invent.kde.org/plasma/plasma-mobile/-/merge_requests/827
2025-10-08 23:13:46 -04:00
Devin Lin
ddc04069a3 startupfeedback: Revert to original animation 2025-10-08 22:21:48 -04:00
Devin Lin
3ce21b972e startupfeedback: Always tint background with theme color
Currently with a light theme, often colors calculated from icons are incredible bright and vivid. This can cause the user to be flashed all of a sudden with a bright color when launching an app. This commit adopt the dark background blending scheme for all usecases.
2025-10-08 21:49:10 -04:00
Devin Lin
929cde56db animation: Make fast animations less jolty
Use less steep animation curves to avoid "jolty" behaviour.
2025-09-14 08:07:52 -04:00
Devin Lin
674c5034ae animations: Use Kirigami units and speed up several of them
This converts many of the animation durations to Kirigami units so that
they can be controlled system wide. It also speeds up several of the
animation durations (ex. in folio) from 800ms to 400ms to improve the
feel and responsiveness of the shell.
2025-09-12 05:41:20 -04:00
Kunda Ki
7f3dcab42b Fix various typos
Fixes typos in various source comments.  
Found via `codespell -S "*.po,*.svg,*.pgm,*.xml,./po,*.desktop,*.json,*.actions" -L aline,aparent,childs,distroname,indexin,indx,logicaly,lokal,nd,splitted,te`
2025-09-05 12:21:15 +00:00
Devin Lin
bc3e80c479 mobileshell: Manually specify QML files, and private some internal files
The globbing pattern for finding QML files is problematic because it
breaks when we add/delete a file (requiring us to delete
~/kde/build/plasma-mobile). It also placed every file (both public and
internal files) in the same flat namespace, carrying the risk of name
collisions between unrelated folders.

This commit manually specifies every file in the package. It also moves internal files in the actiondrawer folder into its own namespace. Followup MRs will do this process for other folders.
2025-07-18 11:01:26 -04:00
Devin Lin
7c07dc0122 components: Remove unused ExtendedAbstractButton
This component is not used anywhere in the shell, remove it.
2025-06-25 16:47:01 -04:00
Micah Stanley
7e2019cb0e MobileShell: Unify Item Background Elements
We so far have been recreating the background elements for all the item throughout the shell. This merge request simplifies this by unifying these elements into a single component, making is easier to keep things at a consistent design while also being able to adjust things when needed in the future.

Per request, I tried to keep thing looking mostly the same as before.

The first picture is what the action drawer looks like now, the one after is with these changes.

![Screenshot_20250621_154201](/uploads/7bd5129d942c8fbc3706dd1728b3a1dd/Screenshot_20250621_154201.png)
![Screenshot_20250621_155520](/uploads/9d2e925c9483579dec765813465e4d2d/Screenshot_20250621_155520.png)
2025-06-22 20:16:16 -04:00
Micah Stanley
a9ddcf726d MarqueeLabel: Smooth Scrolling
This merge request reworks the MarqueeLabel to add smooth scrolling, giving it a more clean appearance while also improving scrolling when filled when characters of different lengths.

Before:

![margueeLabel_before__トリミング_](/uploads/b162949db828a0e243b0ef109456bfdd/margueeLabel_before__トリミング_.webm)

After:

![margueeLabel__トリミング_](/uploads/7ec2a2b72799a56412b08d04b2f6eb00/margueeLabel__トリミング_.webm)
2025-06-12 08:25:42 -04: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
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
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
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
eb9509ce68 Remove trailing whitespace 2024-07-26 23:47:44 -04:00
Devin Lin
5207c06a12 startupfeedback: Fix multi-screen behaviour
Fix the model screen filtering not working properly, and account for case when opened window is already active.
2024-07-15 20:53:42 +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
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
Marius P
17e92e72fc Proofreading 2024-06-17 00:02:08 +03:00
Devin Lin
e7877a6d7a navigationpanel: Remove feature that moves it to the right when the screen height is small
This feature continuously causes issues, and I don't really have time to keep looking at it again and again.

https://invent.kde.org/plasma/plasma-mobile/-/issues/321
2024-03-26 20:53:56 -04:00
Devin Lin
264197b7c6 components/mobileshell: Don't tie MarqueeLabel durations to kirigami duration lengths
Otherwise setting the animation speed will affect the MarqueeLabel speed, which will look very glitched if it's fast.
2024-03-16 11:53:25 -04: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
601dde21ab Fix low inertia scrolling with shell flickables
See https://invent.kde.org/teams/plasma-mobile/issues/-/issues/273
2024-02-25 17:53:58 -05:00
Devin Lin
4b99637427 startupfeedback: Iron out animation 2023-11-22 22:31:23 -08: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
e0768d64c0 startupfeedback: Handle case where same icon is used for opening 2023-11-18 18:27:43 -08:00
Devin Lin
4dddf9a46c startupfeedback: Ensure that old colours don't get shown when launching app 2023-11-18 10:11:57 -08:00
Devin Lin
a7ac976263 startupfeedback: Improve animation behaviour with activated apps 2023-11-15 22:33:44 -08: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
Yari Polla
4f45654af6 Port mobileshell plugins to ecm_add_qml_module 2023-11-02 11:08:17 +00:00
Yari Polla
5013c1704e components/baseitem: remove useless children push 2023-10-15 18:03:40 +00: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
dffa0a9581 components: Port to MultiEffect 2023-05-12 22:07:48 -04:00
Devin Lin
12b9f1df9f components: Add TextDropShadow
Introduce shadow component that uses MultiEffect from Qt 6.5
2023-05-12 19:43:24 -04:00
Devin Lin
2603f461e6 homescreens/halcyon: Fix list highlight within folder 2023-04-19 22:18:05 -07:00
Devin Lin
f2777c016f startupfeedback: Remove debug message 2023-04-06 19:37:06 -07:00
Yari Polla
2da1bb150f components/gridview: simplify component 2023-03-20 15:12:55 +01:00
Devin Lin
4bdacff13c taskswitcher: Account for shell panels in app preview
change
2023-03-19 22:17:44 -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
6160280b0c mobileshell: Dynamically load in heavy dependencies for singletons 2023-03-18 22:43:59 -07:00
Devin Lin
2d1610aaa2 mobileshell: Add constants singleton to reduce dependency on mobileshellstate 2023-03-18 22:06:48 -07:00
Devin Lin
0c2f215a3f startupfeedback: Restore trigger from Plasma 2023-03-18 19:01:48 -07:00
Devin Lin
9560d784a8 startupfeedback: Refactor so that fade in effect can be used for startupnotifier 2023-03-18 17:31:13 -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
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
Yari Polla
f87c7c5526 homescreens/halcyon: switch page when trying to move out of the grids 2023-03-14 05:02:46 +00:00
Yari Polla
99d01f2d2a components/GridView: reset highlight when dragging 2023-03-14 00:18:18 +00:00