Commit graph

17 commits

Author SHA1 Message Date
dd7f087fac Add category filter panel to the app drawer
A panel between the drawer and the power panel lists the XDG
categories installed on the device as icon-and-label tiles.
Tapping one filters the app list; text search still applies
on top. The filter resets each time the drawer opens. Audio,
Video and Settings fold into their parent groups to match
Kickoff.
2026-04-18 13:20:13 +02:00
Balló György
3b2033857e homescreens/folio: Use locale-aware sorting for application list
This fixes the problem that application names starting with non-English
characters are placed at the end of the list.
2025-11-28 23:08:39 -05: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
Florian RICHER
78312b6c44 folio: ApplicationListModel initialize m_homeScreen 2025-07-16 11:32:32 -04:00
Devin Lin
ecefc446a6 homescreens/folio: Do not initialize shared_ptr with a QObject parent
This MR ensures that delegates created with make_shared do not also get
initialized with a QObject parent. Some of the classes used the same
constructor parameter for HomeScreen and used it as a parent simultaneously. This was refactored
so that they are separated.
2025-07-15 18:10:03 -04:00
Devin Lin
d621b23eb0 folio: Delete delegates if the application is removed
When an application is detected to be removed from the system, remove the delegate from the homescreen layout as well.
2025-03-19 23:40:11 -04:00
Devin Lin
3afdafd8c2 folio: Use dynamic list insert/delete for changes
Should help reduce the effect of https://invent.kde.org/plasma/plasma-mobile/-/issues/440

Instead of fully resetting the application list when the ksycoca db
changes, calculate which items are removed and added based on the
storageId and emit targeted signals for them.
2025-03-19 21:45:06 +00:00
Devin Lin
3550caa580 folio: Use smart pointers to manage delegate lifetimes
Currently delegates do not get deleted when removed from models. Due to
the complexity of drag state and other objects, we can't simply delete
the delegate when removed from the model because they might still be
involved in animations or other state at the time of removal. Use smart
pointers to have the delegate objects deleted instead.

QML unfortunately doesn't support QSharedPointer, so we need to expose raw pointers to it.
2025-02-21 18:06:24 +00:00
Devin Lin
7d9054f74e applicationlistmodel: Space out application list refreshes
Use the same behavior as kickoff on desktop, to limit application list
refreshes to once every 100ms.

https://invent.kde.org/plasma/plasma-mobile/-/issues/440
2025-02-17 15:22:38 +00:00
Devin Lin
c2791f3975 homescreens/folio: Add applications drawer search bar
Add a search bar to the applications drawer, to allow for quickly filtering apps.
2024-07-01 16:04:32 +00:00
Devin Lin
21ed42ee30 homescreens/folio: Port away from singletons to support multi-display
https://invent.kde.org/plasma/plasma-mobile/-/issues/316
2024-06-22 19:11:04 -04:00
Devin Lin
580afdfc9c folio: Rewrite
fix landscape favourites bar drag and drop, and cleanup folder

fix drawer scrolling

add settings
2023-10-22 04:08:28 +00:00
Devin Lin
97d549c34c homescreens/folio: Port to plugin architecture 2023-03-05 09:39:44 -08:00
Devin Lin
3ede60a091 Rename containments 2023-03-05 09:39:44 -08:00
Laurent Montel
ea2ccc4e4d Remove duplicate headers between cpp/h files 2022-12-19 13:29:20 +01:00
Devin Lin
5a9099bd84 homescreens/folio: Port to new app launch method 2022-10-12 17:33:30 -04:00
Devin Lin
e9cf10f511 homescreens/folio: Rename from default 2022-09-11 20:01:23 -04:00
Renamed from containments/homescreens/default/applicationlistmodel.cpp (Browse further)