00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __KIconLoader_h_Included__
00015 #define __KIconLoader_h_Included__
00016
00017 #include <qstring.h>
00018 #include <qpixmap.h>
00019 #include <qiconset.h>
00020
00021
00022 #ifdef Status
00023 #define KIconLoaderXStatus Status
00024 #undef Status
00025 #endif
00026 #include <qmovie.h>
00027 #ifdef KIconLoaderXStatus
00028 #define Status int
00029 #undef KIconLoaderXStatus
00030 #endif
00031
00032 #include <kglobal.h>
00033 #include <kinstance.h>
00034 #include <kicontheme.h>
00035
00036 class KIconGroup;
00037 class KIconThemeNode;
00038 class KConfig;
00039 class KIconLoaderPrivate;
00040 class KStandardDirs;
00041 class KIconEffect;
00042
00043
00079 class KIconLoader
00080 {
00081 public:
00082
00097 KIconLoader(const QString& appname=QString::null, KStandardDirs *dirs = 0);
00098
00102 ~KIconLoader();
00103
00108 void addAppDir(const QString& appname);
00109
00131 QPixmap loadIcon(const QString& name, KIcon::Group group, int size=0,
00132 int state=KIcon::DefaultState, QString *path_store=0L,
00133 bool canReturnNull=false) const;
00134
00151 QIconSet loadIconSet(const QString& name, KIcon::Group group, int size,
00152 bool canReturnNull);
00153
00154
00166 QIconSet loadIconSet(const QString& name, KIcon::Group group, int size=0);
00167
00182 QString iconPath(const QString& name, int group_or_size,
00183 bool canReturnNull=false) const;
00184
00193 QMovie loadMovie(const QString& name, KIcon::Group group, int size=0) const;
00194
00204 QString moviePath(const QString& name, KIcon::Group group, int size=0) const;
00205
00216 QStringList loadAnimated(const QString& name, KIcon::Group group, int size=0) const;
00217
00228 QStringList queryIcons(int group_or_size, KIcon::Context context=KIcon::Any) const;
00229
00241 QStringList queryIconsByContext(int group_or_size,
00242 KIcon::Context context=KIcon::Any) const;
00243
00251 QStringList queryIconsByDir( const QString& iconsDir ) const;
00252
00258 int currentSize(KIcon::Group group) const;
00259
00265 KIconTheme *theme() const;
00266
00271 KIconEffect *iconEffect() const;
00272
00279 void reconfigure( const QString& _appname, KStandardDirs *_dirs );
00280
00286 static QPixmap unknown();
00287
00295 bool alphaBlending( KIcon::Group group ) const;
00296
00302 void addExtraDesktopThemes();
00303
00309 bool extraDesktopThemesAdded() const;
00310
00330 void enableDelayedIconSetLoading( bool enable );
00331
00339 bool isDelayedIconSetLoadingEnabled() const;
00340
00341
00342 private:
00346 void init( const QString& _appname, KStandardDirs *_dirs );
00347
00353 KIcon findMatchingIcon(const QString& name, int size) const;
00354
00359 QImage *loadOverlay(const QString& name, int size) const;
00360
00365 void addAppThemes(const QString& appname);
00366
00372 void addBaseThemes(KIconThemeNode *node, const QString &appname);
00373
00379 QString unknownIconPath( int size ) const;
00380
00386 QString removeIconExtension(const QString &name) const;
00387
00391 QIconSet loadIconSetNonDelayed( const QString& name, KIcon::Group group,
00392 int size, bool canReturnNull );
00393
00394
00395 KIconLoaderPrivate *d;
00396 };
00397
00402 QPixmap DesktopIcon(const QString& name, int size=0,
00403 int state=KIcon::DefaultState,
00404 KInstance *instance=KGlobal::instance());
00405
00410 QPixmap DesktopIcon(const QString& name, KInstance *instance);
00411
00416 QIconSet DesktopIconSet(const QString& name, int size=0,
00417 KInstance *instance=KGlobal::instance());
00418
00423 QPixmap BarIcon(const QString& name, int size=0, int state=KIcon::DefaultState,
00424 KInstance *instance=KGlobal::instance());
00425
00430 QPixmap BarIcon(const QString& name, KInstance *instance);
00431
00436 QIconSet BarIconSet(const QString& name, int size=0,
00437 KInstance *instance=KGlobal::instance());
00438
00443 QPixmap SmallIcon(const QString& name, int size=0,
00444 int state=KIcon::DefaultState,
00445 KInstance *instance=KGlobal::instance());
00446
00451 QPixmap SmallIcon(const QString& name, KInstance *instance);
00452
00457 QIconSet SmallIconSet(const QString& name, int size=0,
00458 KInstance *instance=KGlobal::instance());
00459
00464 QPixmap MainBarIcon(const QString& name, int size=0,
00465 int state=KIcon::DefaultState,
00466 KInstance *instance=KGlobal::instance());
00467
00472 QPixmap MainBarIcon(const QString& name, KInstance *instance);
00473
00478 QIconSet MainBarIconSet(const QString& name, int size=0,
00479 KInstance *instance=KGlobal::instance());
00480
00485 QPixmap UserIcon(const QString& name, int state=KIcon::DefaultState,
00486 KInstance *instance=KGlobal::instance());
00487
00492 QPixmap UserIcon(const QString& name, KInstance *instance);
00493
00498 QIconSet UserIconSet(const QString& name,
00499 KInstance *instance=KGlobal::instance());
00500
00505 int IconSize(KIcon::Group group, KInstance *instance=KGlobal::instance());
00506
00507 #endif // __KIconLoader_h_Included__