Bug 356045

Summary: Adding folder to places does not adopt custom icon
Product: [Applications] dolphin Reporter: Kai Uwe Broulik <kde>
Component: panels: placesAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: andreas.davour, bugseforuns, nate, nortexoid, rockonthemoonfm
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.60

Description Kai Uwe Broulik 2015-11-28 23:07:19 UTC
When I add a folder to my Places panel (either by drag and drop or using the "Add to Places" context menu entry) a custom icon I might have set on the folder is not transferred to the new places entry.

Reproducible: Always

Steps to Reproduce:
1. Create a new folder
2. Change the folder icon through the Properties dialog
3. Add this folder to Places

Actual Results:  
A new place with the name of the folder appears, however, it has the default folder icon

Expected Results:  
A new place with the same icon as the folder I added appears
Comment 1 Nate Graham 2017-09-03 01:10:31 UTC
*** Bug 350679 has been marked as a duplicate of this bug. ***
Comment 2 Nate Graham 2017-09-03 01:10:56 UTC
Confirmed.
Comment 3 Nate Graham 2017-09-03 01:11:19 UTC
*** Bug 364757 has been marked as a duplicate of this bug. ***
Comment 4 Michael D 2018-03-19 15:49:41 UTC
I noticed that it does inherit the icon for a few folders, such as Downloads and Desktop. Though I suppose if a custom icon were set for those folders too, it would not inherit it (I haven't tried).
Comment 5 Kai Uwe Broulik 2018-05-16 08:07:13 UTC
KIO::iconNameForUrl does not seem to check the .directory file which is why custom folder icons aren't honored here
Comment 6 Nate Graham 2019-06-30 15:21:31 UTC
Git commit 074c91a58318f201d8c47076a5a9cf4ff783a051 by Nate Graham.
Committed on 30/06/2019 at 15:21.
Pushed by ngraham into branch 'master'.

Move redundant logic in KIO::iconNameForUrl() into KFileItem::iconName()

Summary:
`KIO::iconNameForUrl()` was doing a lot of redundant work on file items that `KFileItem::iconName()`
already does for us. This patch moves most of that logic into `KIO::iconNameForUrl()` when operating
on local files (but not for remote files, which may be slower, and for which we don't want to stat).
FIXED-IN: 5.60

Test Plan:
Functionality testing:
- Tested that adding a directory with a custom icon to the Places panel resuts in the Places panel entry inheriting its custom icon: {F5864410}
- Used the system with this patch in place for one year; did not find any instances of incorrect icons

Regression testing:
- Tested that the trash changes its icon appropriately when adding an item to an empty trash, removing all items from the trash, and emptying the trash (testtrash test passes)
- Tested that other icons on the Places panel look the same as they did before the patch

Unit testing:
- No test regressions

Reviewers: #frameworks, broulik, meven, apol, dfaure

Reviewed By: dfaure

Subscribers: apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13048

M  +21   -11   src/core/global.cpp

https://commits.kde.org/kio/074c91a58318f201d8c47076a5a9cf4ff783a051