Summary: | digikam: directories with a '#' in their name are not properly detected when created outside digikam or ... | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Achim Bohnet <ach> |
Component: | Database-Albums | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ana, caulier.gilles |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 0.9.0 | |
Sentry Crash Report: |
Description
Achim Bohnet
2006-04-20 01:50:32 UTC
I've looked in digikam3.db and the complete directory name is in the 'Albums' table. Independendly if the directory with a '#' in it was created via digikam or other tools. So the '#whatever' part of the dirname get's lots during retrieve or display of the dirname. I bet it's the retrieve ;) Achim SVN commit 535877 by mwiesweg: digikam from trunk: Properly convert filenames to URL When creating a KURL from a QString filename, always use setPath and not the default constructor. setPath will escape characters (such as '#', which means, if you think of HTML, an anchor link). CCBUG: 125926 M +6 -3 albummanager.cpp --- trunk/extragear/graphics/digikam/digikam/albummanager.cpp #535876:535877 @@ -406,11 +406,14 @@ if (info.url.isEmpty() || info.url == "/") continue; + // Despite its name info.url is a QString. + // setPath takes care for escaping characters that are valid for files but not for URLs ('#') + KURL u; + u.setPath(info.url); + QString name = u.fileName(); // Get its parent - KURL u = info.url; - QString name = u.fileName(); QString purl = u.upURL().path(-1); - + PAlbum* parent = d->pAlbumDict.find(purl); if (!parent) { SVN commit 535879 by mwiesweg: digikam stable branch: Properly create URL from filename. Backport commit 535877. BUG: 125926 M +6 -3 albummanager.cpp --- branches/stable/extragear/graphics/digikam/digikam/albummanager.cpp #535878:535879 @@ -395,11 +395,14 @@ if (info.url.isEmpty() || info.url == "/") continue; + // Despite its name info.url is a QString. + // setPath takes care for escaping characters that are valid for files but not for URLs ('#') + KURL u; + u.setPath(info.url); + QString name = u.fileName(); // Get its parent - KURL u = info.url; - QString name = u.fileName(); QString purl = u.upURL().path(-1); - + PAlbum* parent = d->pAlbumDict.find(purl); if (!parent) { |