| Summary: | Folder View widget shows .desktop files' filenames instead of desktop entry's Name property when using user-specified path | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Alexander Wilms <f.alexander.wilms> |
| Component: | Desktop icons & Folder View widget | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | CC: | hein, nate, olib141 |
| Priority: | NOR | ||
| Version First Reported In: | 5.25.4 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/plasma-desktop/-/commit/6ba1f9197348db4aa2d6c465cba34699c48e19ba | Version Fixed/Implemented In: | 6.2.0 |
| Sentry Crash Report: | |||
|
Description
Alexander Wilms
2022-08-27 19:17:53 UTC
Found the line of code which would need to be changed: https://invent.kde.org/plasma/plasma-desktop/-/blob/master/containments/desktop/package/contents/ui/ConfigLocation.qml#L167 Nice, wanna fix it? I'm trying, but I don't know how to get a relative path from two absolute paths:
Apparently, the QDir type is not available in QML and in Javascript it's usually done with a NodeJS module.
function getDesktopURI(fileURI) {
var absoluteDesktopURI = StandardPaths.writableLocation(StandardPaths.DesktopLocation)
// var relativeURI = absoluteDesktopURI.relativeFilePath(fileURI) <- QDir method
// var desktopURI = relativeURI.replace("file://","desktop://")
console.log(fileURI)
console.log(absoluteDesktopURI)
// console.log(relativeURI)
// var path = require('path') <- NodeJS module
// console.log(path.relative('/foo/bar/baz', '/foo'))
return fileURI
}
I submitted a merge request: https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1125 I didn't test it in a Plasma session, but the unit test passes. *** Bug 459077 has been marked as a duplicate of this bug. *** Git commit 6ba1f9197348db4aa2d6c465cba34699c48e19ba by Nate Graham, on behalf of Alexander Wilms. Committed on 02/07/2024 at 16:59. Pushed by ngraham into branch 'master'. containments/desktop: Store Folder View configuration paths relative to desktop The Folder View widget currently shows .desktop files' filenames instead of desktop entries' Name properties when using a user-specified path. This commit fixes that issue by converting all file:// paths below the desktop to relative ones using the desktop:// scheme. FIXED-IN: 6.2.0 M +5 -5 containments/desktop/package/contents/ui/ConfigLocation.qml M +3 -1 containments/desktop/package/contents/ui/FolderItemDelegate.qml M +1 -0 containments/desktop/plugins/folder/CMakeLists.txt M +1 -0 containments/desktop/plugins/folder/autotests/CMakeLists.txt A +61 -0 containments/desktop/plugins/folder/autotests/desktopschemehelpertest.cpp [License: GPL(v2.0+)] A +20 -0 containments/desktop/plugins/folder/autotests/desktopschemehelpertest.h [License: GPL(v2.0+)] A +73 -0 containments/desktop/plugins/folder/desktopschemehelper.cpp [License: GPL(v2.0+)] A +27 -0 containments/desktop/plugins/folder/desktopschemehelper.h [License: GPL(v2.0+)] M +37 -0 containments/desktop/plugins/folder/foldermodel.cpp M +3 -0 containments/desktop/plugins/folder/foldermodel.h M +9 -0 containments/desktop/plugins/folder/folderplugin.cpp M +2 -1 containments/desktop/plugins/folder/labelgenerator.cpp https://invent.kde.org/plasma/plasma-desktop/-/commit/6ba1f9197348db4aa2d6c465cba34699c48e19ba |