Summary: | Icon fallback logic should include icons in fallback themes, not just the current theme | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kiconthemes | Reporter: | CatKiller <killerismymiddlename> |
Component: | general | Assignee: | Christoph Feck <cfeck> |
Status: | CONFIRMED --- | ||
Severity: | wishlist | CC: | kainz.a, kdelibs-bugs, nate, paik.saikat |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | screenshot of volume widget |
Description
CatKiller
2020-12-19 23:47:55 UTC
Due to the fallback mechanics in QIcon, if an app asks for "audio-card-usb" and no such icon is available, it will automatically look for "audio-card", and we do have such an icon. Are you seeing this not happening? Can you show a screenshot that displays the wrong appearance? Created attachment 134355 [details]
screenshot of volume widget
So, as it turns out, it _isn't_ a problem with the Breeze theme as I'd thought. I incorrectly surmised that I was getting the missing-icon icon because the icon was missing, and because creating the icon made the problem go away. Hence the bug report, since Breeze doesn't have the audio-card-usb icon. But you are correct that selecting the Breeze icon theme and logging out/logging in displays the audio-card fallback icon correctly.
The problem I experienced is caused by the way that Inherited themes are stepped through. The theme I'd picked (Suru) doesn't have an audio-card-usb icon (because none of the themes do). Nor does it have audio-card. So that fallback doesn't work, and it looks through the Inherited themes. Crucially, though, none of the Inherited themes have audio-card-usb and it _doesn't_ look for audio-card in those themes as an alternative, so it displays the missing-icon icon instead. Picking a theme in the Inherits chain that has audio-card (Humanity, in this case) and giving it audio-card-usb by symlinking fixed the problem.
So Breeze doesn't necessarily need an audio-card-usb icon (although it might be worthwhile if you happen to have a nice design) but the fallback mechanism ought to also check for the fallback icons in the Inherits chain.
That might be nice. Moving to kiconthemes for now since I think that's where the needed changes would have to be made. |