• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KIO

kimageio.cpp

Go to the documentation of this file.
00001 
00008 #include "kimageio.h"
00009 
00010 #include "kmimetype.h"
00011 #include <kservicetypetrader.h>
00012 #include <klocale.h>
00013 #include <kdebug.h>
00014 
00015 QString
00016 KImageIO::pattern(Mode mode)
00017 {
00018     QStringList patterns;
00019     QString allPatterns;
00020     QString separator("|");
00021 
00022     const KService::List services = KServiceTypeTrader::self()->query("QImageIOPlugins");
00023     KService::Ptr service;
00024     foreach(service, services)
00025     {
00026         if ( (service->property("X-KDE-Read").toBool() && mode == Reading) ||
00027              (service->property("X-KDE-Write").toBool() && mode == Writing ) ) {
00028 
00029             QString mimeType = service->property("X-KDE-MimeType").toString();
00030             if ( mimeType.isEmpty() ) continue;
00031             KMimeType::Ptr mime = KMimeType::mimeType( mimeType );
00032             if (!mime) {
00033                 kWarning() << service->entryPath() << " specifies unknown mimetype " << mimeType;
00034             } else {
00035                 QString pattern = mime->patterns().join(" ");
00036                 patterns.append( pattern + separator + mime->comment() );
00037                 if (!allPatterns.isEmpty() )
00038                     allPatterns += ' ';
00039                 allPatterns += pattern;
00040             }
00041         }
00042     }
00043 
00044     allPatterns = allPatterns + separator + i18n("All Pictures");
00045     patterns.sort();
00046     patterns.prepend(allPatterns);
00047 
00048     QString pattern = patterns.join(QLatin1String("\n"));
00049     return pattern;
00050 }
00051 
00052 QStringList KImageIO::typeForMime(const QString& mimeType)
00053 {
00054     if ( mimeType.isEmpty() )
00055         return QStringList();
00056 
00057     KService::List services = KServiceTypeTrader::self()->query("QImageIOPlugins");
00058     KService::Ptr service;
00059     foreach(service, services) {
00060         if ( mimeType == service->property("X-KDE-MimeType").toString() )
00061             return ( service->property("X-KDE-ImageFormat").toStringList() );
00062     }
00063     return QStringList();
00064 }
00065 
00066 QStringList KImageIO::mimeTypes( Mode mode )
00067 {
00068     QStringList mimeList, allFormats;
00069 
00070     KService::List services = KServiceTypeTrader::self()->query("QImageIOPlugins");
00071     KService::Ptr service;
00072     foreach(service, services) {
00073         if ( (service->property("X-KDE-Read").toBool() && mode == Reading) ||
00074              (service->property("X-KDE-Write").toBool() && mode == Writing ) ) {
00075 
00076             const QString mime = service->property("X-KDE-MimeType").toString();
00077             if ( !mime.isEmpty() )
00078                 mimeList.append( mime );
00079         }
00080     }
00081 
00082     return mimeList;
00083 }
00084 
00085 QStringList KImageIO::types( Mode mode )
00086 {
00087     QStringList imagetypes;
00088     KService::List services = KServiceTypeTrader::self()->query("QImageIOPlugins");
00089     KService::Ptr service;
00090     foreach(service, services) {
00091         if ( (service->property("X-KDE-Read").toBool() && mode == Reading) ||
00092              (service->property("X-KDE-Write").toBool() && mode == Writing ) ) {
00093 
00094             imagetypes += service->property("X-KDE-ImageFormat").toStringList();
00095         }
00096     }
00097     return imagetypes;
00098 }
00099 
00100 bool KImageIO::isSupported( const QString& mimeType, Mode mode )
00101 {
00102     if (mimeType.isEmpty() )
00103         return false;
00104 
00105     KService::List services = KServiceTypeTrader::self()->query("QImageIOPlugins");
00106     KService::Ptr service;
00107     foreach(service, services) {
00108         if ( mimeType == service->property("X-KDE-MimeType").toString() ) {
00109 
00110             if ( (service->property("X-KDE-Read").toBool() && mode == Reading) ||
00111                  (service->property("X-KDE-Write").toBool() && mode == Writing ) ) {
00112 
00113                 return true;
00114             } else {
00115                 return false;
00116             }
00117         }
00118     }
00119     return false;
00120 }

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal