Bug 497372

Summary: [24.12.0 Regression] Overlay icons have inconsistent sizes when zooming in and out
Product: [Applications] dolphin Reporter: Luke Horwell <code>
Component: generalAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: dimitri.code, dolphin-bugs-null
Priority: NOR    
Version First Reported In: 24.12.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Changing view scale in Dolphin 24.12 (left) and Dolphin 24.08.3 (right)
Screenshot showing inconsistency on hidden files with Git plugin
Video of just one of the zoom jump still inconsistant

Description Luke Horwell 2024-12-12 15:58:12 UTC
Created attachment 176558 [details]
Changing view scale in Dolphin 24.12 (left) and Dolphin 24.08.3 (right)

SUMMARY

After updating to Dolphin 24.12.0, overlay icons (such as symlinks and read-only) are proportionately larger at the default 64 pixels zoom compared to Dolphin 24.08.3. They no longer scale proportionately when increasing/decreasing zoom level.

These overlay icons seem to using the 22px version of the icon (e.g. "22/emblem-symbolic-link.svg"), even though the icon scheme provides a 24px size, which goes unused.

I believe it's a bug rather than an intentional design change. Attached is a video to demonstrate.


STEPS TO REPRODUCE
1. Open a folder containing files/folders which trigger an overlay icon (e.g. a symlink file)
2. Change the zoom of the view (mouse+scroll wheel)

OBSERVED RESULT
Overlay icons are larger.

EXPECTED RESULT
Overlay icons were a little smaller.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.1

ADDITIONAL INFORMATION

From the 24.12.0 release notes, the closest thing could be:
"Port from KIconLoader::drawOverlays to KIconUtils::addOverlays."
http://commits.kde.org/dolphin/cebcf8dbb3ff310aa0761ad452e4ca79278d7831https://kde.org/announcements/changelogs/gear/24.12.0/
Comment 1 Luke Horwell 2024-12-14 16:52:43 UTC
Just to note, it seems to only affect the right overlay icon (e.g. emblem-symbolic-link, emblem-readonly). The left overlay icon scales as expected like the previous version (e.g. version control status: vcs-normal, vcs-locally-modified-unstaged, etc).
Comment 2 Luke Horwell 2024-12-20 11:42:00 UTC
Created attachment 176786 [details]
Screenshot showing inconsistency on hidden files with Git plugin

Looks like the left icon is indeed affected. I was going to open a new report, but it seems too similar to this one.

Overlay icons added by the Git plugin are inconsistently sized between hidden and non-hidden files and folders in Dolphin 24.12.

STEPS TO REPRODUCE
1. Create a directory and run "git init" inside.
2. Create files and folders, with some hidden by prefixing a dot in the name.
3. Commit the changes, e.g. "git add ." and "git commit -m Test".
4. Show hidden files in the folder.
5. Observe the overlay VCS icon size.

Hidden files/folders have a smaller VCS icon then non-hidden files/folders.
Comment 3 Dimitri 2025-01-07 14:45:03 UTC
I am updating the title with "when zooming in and out" for the bug to not be confused with Bug 498211 about inconsistency of overlay between files.
Comment 4 Méven 2025-01-17 10:20:12 UTC
Git commit 961e6270e4401a6c7512df3a2e3efd09a25df962 by Méven Car.
Committed on 17/01/2025 at 10:07.
Pushed by meven into branch 'master'.

Refactor Overlay Handling

Now all overlays icons in kitemviews are added in
KStandardItemListWidget::updatePixmapCache.

data[iconOverlays] now contains icon names.

DolphinFileItemListWidget::refreshCache is the sole responsible of
setting the overlays either coming from KFileItemModelRolesUpdater or
KVersionControlPlugin.

This garantees consistency in rendering.

M  +3    -7    src/kitemviews/kfileitemmodelrolesupdater.cpp
M  +1    -1    src/kitemviews/kfileitemmodelrolesupdater.h
M  +52   -36   src/kitemviews/kstandarditemlistwidget.cpp
M  +10   -4    src/kitemviews/kstandarditemlistwidget.h
M  +17   -2    src/panels/information/informationpanelcontent.cpp
M  +18   -17   src/views/dolphinfileitemlistwidget.cpp
M  +1    -1    src/views/dolphinfileitemlistwidget.h

https://invent.kde.org/system/dolphin/-/commit/961e6270e4401a6c7512df3a2e3efd09a25df962
Comment 5 Dimitri 2025-02-20 16:05:51 UTC
Created attachment 178642 [details]
Video of just one of the zoom jump still inconsistant

The commit fixed almost all inconsistency between zoom level except for 1 of the zoom jump.
Comment 6 Dimitri 2025-02-20 16:17:25 UTC
(In reply to Méven from comment #4)
For the last zoom jump remaining after the commit (see attachment), should I re-open the bug ? Or create a new one ?
Comment 7 Dimitri 2025-02-23 15:02:00 UTC
> For the last zoom jump remaining after the commit (see attachment), should I
> re-open the bug ? Or create a new one ?
I have published a new bug report, the bug 500624 which talk about the size behavior around the zoom threshold for thumbnail in general.
As the new behavior has the same issue with overlays and the rest of the thumbnail, I am not so sure that the bug report we are in should be reopened. I let someone else do it if it should be reopened.