Date: Saturday, August 15, 2015 @ 00:55:58 Author: arojas Revision: 243718
Add patch Added: kio/trunk/custom-folder-icons.patch ---------------------------+ custom-folder-icons.patch | 94 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) Added: custom-folder-icons.patch =================================================================== --- custom-folder-icons.patch (rev 0) +++ custom-folder-icons.patch 2015-08-14 22:55:58 UTC (rev 243718) @@ -0,0 +1,94 @@ +From: Emmanuel Pescosta <[email protected]> +Date: Tue, 11 Aug 2015 18:13:52 +0000 +Subject: Show custom folder icons again +X-Git-Url: http://quickgit.kde.org/?p=kio.git&a=commitdiff&h=d8aafbc37daab3cd62ee77430a55b3d72ccc12e0 +--- +Show custom folder icons again + +Set mimetype as known when we assign the mime type for inode/directory + +This bug was introduced by commit 46cd152f + +BUG: 350612 +FIXED-IN: 5.14 +REVIEW: 124690 +--- + + +--- a/autotests/kfileitemtest.cpp ++++ b/autotests/kfileitemtest.cpp +@@ -25,6 +25,8 @@ + #include <qtemporarydir.h> + #include <qtemporaryfile.h> + #include <kuser.h> ++#include <kdesktopfile.h> ++#include <kconfiggroup.h> + + QTEST_MAIN(KFileItemTest) + +@@ -472,6 +474,25 @@ + QCOMPARE(fileItem.currentMimeType().name(), udsMimeType); + } + ++void KFileItemTest::testIconNameForCustomFolderIcons() ++{ ++ // Custom folder icons should be displayed (bug 350612) ++ ++ const QString iconName = QStringLiteral("folder-music"); ++ ++ QTemporaryDir tempDir; ++ const QUrl url = QUrl::fromLocalFile(tempDir.path()); ++ KDesktopFile cfg(tempDir.path() + QString::fromLatin1("/.directory")); ++ cfg.desktopGroup().writeEntry("Icon", iconName); ++ cfg.sync(); ++ ++ KIO::UDSEntry entry; ++ entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); ++ KFileItem fileItem(entry, url); ++ ++ QCOMPARE(fileItem.iconName(), iconName); ++} ++ + #ifndef Q_OS_WIN // user/group/other write permissions are not handled on windows + + void KFileItemTest::testIsReadable_data() + +--- a/autotests/kfileitemtest.h ++++ b/autotests/kfileitemtest.h +@@ -41,6 +41,7 @@ + void testMimetypeForRemoteFolderWithFileType(); + void testCurrentMimetypeForRemoteFolder(); + void testCurrentMimetypeForRemoteFolderWithFileType(); ++ void testIconNameForCustomFolderIcons(); + + #ifndef Q_OS_WIN + void testIsReadable_data(); + +--- a/src/core/kfileitem.cpp ++++ b/src/core/kfileitem.cpp +@@ -732,15 +732,15 @@ + QMimeDatabase db; + if (isDir()) { + d->m_mimeType = db.mimeTypeForName("inode/directory"); +- return d->m_mimeType; +- } +- bool isLocalUrl; +- const QUrl url = mostLocalUrl(&isLocalUrl); +- d->m_mimeType = db.mimeTypeForUrl(url); +- // was: d->m_mimeType = KMimeType::findByUrl( url, d->m_fileMode, isLocalUrl ); +- // => we are no longer using d->m_fileMode for remote URLs. +- Q_ASSERT(d->m_mimeType.isValid()); +- //qDebug() << d << "finding final mimetype for" << url << ":" << d->m_mimeType.name(); ++ } else { ++ bool isLocalUrl; ++ const QUrl url = mostLocalUrl(&isLocalUrl); ++ d->m_mimeType = db.mimeTypeForUrl(url); ++ // was: d->m_mimeType = KMimeType::findByUrl( url, d->m_fileMode, isLocalUrl ); ++ // => we are no longer using d->m_fileMode for remote URLs. ++ Q_ASSERT(d->m_mimeType.isValid()); ++ //qDebug() << d << "finding final mimetype for" << url << ":" << d->m_mimeType.name(); ++ } + d->m_bMimeTypeKnown = true; + } + +
