mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-08-14 18:44:13 +02:00
6326cb3789
https://qelectrotech.org/bugtracker/view.php?id=335 ## Bug Element library icons (collection tree thumbnails, drag icon, preview panels) render with a fully transparent background. Element definitions almost always hardcode a black stroke color, on the assumption of the white diagram sheet they are normally drawn on. Against a dark widget/ tree-view background (e.g. KDE Plasma dark theme), that black stroke disappears entirely - reported as icons being "black and almost invisible". scorpio810_mantis linked this to the same recurring family as #231, #247, #267. ## Fix ElementPictureFactory::pixmap() is the single shared point where every consumer of these icons gets its QPixmap (collection tree via ElementsCollectionCache -> Element::pixmap(), master/slave properties tree, element properties preview, drag icon). Change its background fill from fully transparent to opaque white - exactly what the element already visually assumes in every context this pixmap is used, so it is correct regardless of the surrounding widget's palette. ## Testing Built both variants and compared under Xvfb using a simple, decisive visual test: select the tree row (giving it a highlighted/colored background) and compare what shows immediately around the icon's glyph. - Before: the icon's background matches the row's selection color - confirms it is transparent, so on a dark unselected row the black strokes would have the same problem. - After: a solid white square is visible behind the glyph regardless of the row's background color. Note for the on-disk pixmap cache used by ElementsCollectionCache (~/.local/share/QElectroTech/QElectroTech/elements_cache.sqlite): existing cached PNGs predate this fix and will keep their transparent background until regenerated. That cache already keys strictly on path+uuid with no invalidation on QET version, so this is an existing characteristic of that cache, not something introduced here.