[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdegraphics/gwenview/lib
From:       Aurélien Gâteau <aurelien.gateau () free ! fr>
Date:       2009-03-05 21:02:39
Message-ID: 1236286959.784105.16892.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 935635 by gateau:

Some KImageIO plugins (jpeg2000, grrr) return mimetype aliases instead of the real mimetype.
Resolv alias for now.

BUG:183903

CCMAIL:dfaure@kde.org
David, should we fix the .desktop files instead?

 M  +19 -1     mimetypeutils.cpp  


--- trunk/KDE/kdegraphics/gwenview/lib/mimetypeutils.cpp #935634:935635
@@ -45,12 +45,27 @@
 
 namespace MimeTypeUtils {
 
+static inline QString resolveAlias(const QString& name) {
+	KMimeType::Ptr ptr = KMimeType::mimeType(name, KMimeType::ResolveAliases);
+	//kDebug() << name << ptr->name();
+	return ptr->name();
+}
 
+static void resolveAliasInList(QStringList* list) {
+	QStringList::Iterator
+		it = list->begin(),
+		end = list->end();
+	for (; it != end; ++it) {
+		*it = resolveAlias(*it);
+	}
+}
+
 const QStringList& dirMimeTypes() {
 	static QStringList list;
 	if (list.isEmpty()) {
 		list << "inode/directory";
 		list += ArchiveUtils::mimeTypes();
+		resolveAliasInList(&list);
 	}
 	return list;
 }
@@ -59,7 +74,8 @@
 const QStringList& rasterImageMimeTypes() {
 	static QStringList list;
 	if (list.isEmpty()) {
-		list=KImageIO::mimeTypes(KImageIO::Reading);
+		list = KImageIO::mimeTypes(KImageIO::Reading);
+		resolveAliasInList(&list);
 	}
 	return list;
 }
@@ -70,6 +86,7 @@
 	if (list.isEmpty()) {
 		list.append("image/svg+xml");
 		// FIXME svgz
+		resolveAliasInList(&list);
 	}
 	return list;
 }
@@ -92,6 +109,7 @@
 #ifdef __GNUC__
 	#warning implement MimeTypeUtils::videoMimeTypes()
 #endif
+		resolveAliasInList(&list);
 	}
 
 	return list;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic