[arch-commits] Commit in kio/trunk (custom-folder-icons.patch)

Antonio Rojas arojas at archlinux.org
Fri Aug 14 22:55:58 UTC 2015


    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 <emmanuelpescosta099 at gmail.com>
+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;
+     }
+ 
+



More information about the arch-commits mailing list