Bug 426777

Summary: Users KCM Avatars list no longer lists custom entries in /usr/share/user-manager/avatars
Product: [Applications] systemsettings Reporter: The Feren OS Dev <ferenosdev>
Component: kcm_usersAssignee: Janet Blackquill <uhhadd>
Status: RESOLVED FIXED    
Severity: normal CC: nate, plasma-bugs-null
Priority: VHI Keywords: regression
Version First Reported In: 5.19.90   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description The Feren OS Dev 2020-09-20 15:19:30 UTC
SUMMARY
The new 5.20 Users KCM's Avatars list no longer lists custom images in /usr/share/user-manager/avatars/(insert custom avatar set name here which contains custom avatars). For instance Feren OS comes pre-bundled with its own set of avatars in /usr/share/user-manager/avatars/feren.

STEPS TO REPRODUCE
1. Get a custom avatar set in /usr/share/user-manager/avatars/(name here)
2. Open Users KCM
3. Change the user avatar

OBSERVED RESULT
Only files in konqui and photos are listed

EXPECTED RESULT
Files in all folders in there excluding 'circles' would be listed

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: KDE neon Unstable 5.19.90
(available in About System)
KDE Plasma Version: 5.19.90
KDE Frameworks Version: 5.75.0
Qt Version: 5.15.0

ADDITIONAL INFORMATION
This is a regression from the old version of the 'User Manager' KCM which listed the custom avatars fine
Comment 1 The Feren OS Dev 2020-09-20 15:21:55 UTC
Update: I guess the list is entirely hardcoded currently as adding items to 'photos' for instance doesn't add them to the list of available avatars.
Comment 2 Nate Graham 2020-09-23 19:19:02 UTC
Heh, oops. Need to re-add that.
Comment 3 Bug Janitor Service 2020-11-20 20:34:11 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/233
Comment 4 Janet Blackquill 2020-12-01 02:22:33 UTC
Git commit 27b98746c8215751ef2a599913c1e49c43886ef1 by Jan Blackquill, on behalf of Carson Black.
Committed on 01/12/2020 at 02:22.
Pushed by cblack into branch 'master'.

[kcms/users]: Don't hardcode the list of avatars

This replaces a hardcoded list of avatars with searching in $DATA_DIRS/plasma-avatars, which allows distros to ship their own avatars

M  +1    -0    kcms/users/CMakeLists.txt
R  +-    --    kcms/users/avatars/Artist Konqi.png [from: kcms/users/package/contents/img/Artist Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Bookworm Konqi.png [from: kcms/users/package/contents/img/Bookworm Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Boss Konqi.png [from: kcms/users/package/contents/img/Boss Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Bug Catcher Konqi.png [from: kcms/users/package/contents/img/Bug Catcher Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Card Shark Konqi.png [from: kcms/users/package/contents/img/Card Shark Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Hacker Konqi.png [from: kcms/users/package/contents/img/Hacker Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Journalist Konqi.png [from: kcms/users/package/contents/img/Journalist Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Katie.png [from: kcms/users/package/contents/img/Katie.png - 100% similarity]
R  +-    --    kcms/users/avatars/Konqi.png [from: kcms/users/package/contents/img/Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Mechanic Konqi.png [from: kcms/users/package/contents/img/Mechanic Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Messenger Konqi.png [from: kcms/users/package/contents/img/Messenger Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Musician Konqi.png [from: kcms/users/package/contents/img/Musician Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Office Worker Konqi.png [from: kcms/users/package/contents/img/Office Worker Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/PC Builder Konqi.png [from: kcms/users/package/contents/img/PC Builder Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Scientist Konqi.png [from: kcms/users/package/contents/img/Scientist Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Teacher Konqi.png [from: kcms/users/package/contents/img/Teacher Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/Virtual Reality Konqi.png [from: kcms/users/package/contents/img/Virtual Reality Konqi.png - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Air Balloon.png [from: kcms/users/package/contents/img/photos/Air Balloon.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Air Balloon.png.license [from: kcms/users/package/contents/img/photos/Air Balloon.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Astronaut.png [from: kcms/users/package/contents/img/photos/Astronaut.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Astronaut.png.license [from: kcms/users/package/contents/img/photos/Astronaut.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Books.png [from: kcms/users/package/contents/img/photos/Books.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Books.png.license [from: kcms/users/package/contents/img/photos/Books.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Brushes.png [from: kcms/users/package/contents/img/photos/Brushes.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Brushes.png.license [from: kcms/users/package/contents/img/photos/Brushes.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Bulb.png [from: kcms/users/package/contents/img/photos/Bulb.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Bulb.png.license [from: kcms/users/package/contents/img/photos/Bulb.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Car.png [from: kcms/users/package/contents/img/photos/Car.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Car.png.license [from: kcms/users/package/contents/img/photos/Car.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Cat.png [from: kcms/users/package/contents/img/photos/Cat.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Cat.png.license [from: kcms/users/package/contents/img/photos/Cat.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Chameleon.png [from: kcms/users/package/contents/img/photos/Chameleon.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Chamelon.png.license [from: kcms/users/package/contents/img/photos/Chamelon.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Cocktail.png [from: kcms/users/package/contents/img/photos/Cocktail.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Cocktail.png.license [from: kcms/users/package/contents/img/photos/Cocktail.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Dog.png [from: kcms/users/package/contents/img/photos/Dog.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Dog.png.license [from: kcms/users/package/contents/img/photos/Dog.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Fish.png [from: kcms/users/package/contents/img/photos/Fish.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Fish.png.license [from: kcms/users/package/contents/img/photos/Fish.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Gamepad.png [from: kcms/users/package/contents/img/photos/Gamepad.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Gamepad.png.license [from: kcms/users/package/contents/img/photos/Gamepad.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Owl.png [from: kcms/users/package/contents/img/photos/Owl.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Owl.png.license [from: kcms/users/package/contents/img/photos/Owl.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Pancakes.png [from: kcms/users/package/contents/img/photos/Pancakes.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Pancakes.png.license [from: kcms/users/package/contents/img/photos/Pancakes.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Parrot.png [from: kcms/users/package/contents/img/photos/Parrot.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Parrot.png.license [from: kcms/users/package/contents/img/photos/Parrot.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Pencils.png [from: kcms/users/package/contents/img/photos/Pencils.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Pencils.png.license [from: kcms/users/package/contents/img/photos/Pencils.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Shuttle.png [from: kcms/users/package/contents/img/photos/Shuttle.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Shuttle.png.license [from: kcms/users/package/contents/img/photos/Shuttle.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Soccer.png [from: kcms/users/package/contents/img/photos/Soccer.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Soccer.png.license [from: kcms/users/package/contents/img/photos/Soccer.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Sunflower.png [from: kcms/users/package/contents/img/photos/Sunflower.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Sunflower.png.license [from: kcms/users/package/contents/img/photos/Sunflower.png.license - 100% similarity]
R  +-    --    kcms/users/avatars/photos/Sushi.png [from: kcms/users/package/contents/img/photos/Sushi.png - 100% similarity]
R  +0    -0    kcms/users/avatars/photos/Sushi.png.license [from: kcms/users/package/contents/img/photos/Sushi.png.license - 100% similarity]
M  +2    -40   kcms/users/package/contents/ui/UserDetailsPage.qml
M  +14   -0    kcms/users/src/kcm.cpp
M  +2    -0    kcms/users/src/kcm.h

https://invent.kde.org/plasma/plasma-desktop/commit/27b98746c8215751ef2a599913c1e49c43886ef1