00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __TDEIconLoader_h_Included__
00013 #define __TDEIconLoader_h_Included__
00014
00015 #include <tqstring.h>
00016 #include <tqpixmap.h>
00017 #include <tqiconset.h>
00018
00019
00020 #ifdef Status
00021 #define TDEIconLoaderXStatus Status
00022 #undef Status
00023 #endif
00024 #include <tqmovie.h>
00025 #ifdef TDEIconLoaderXStatus
00026 #define Status int
00027 #undef TDEIconLoaderXStatus
00028 #endif
00029
00030 #include <tdeglobal.h>
00031 #include <kinstance.h>
00032 #include <kicontheme.h>
00033
00034 struct TDEIconGroup;
00035 class TDEIconThemeNode;
00036 class TDEConfig;
00037 struct TDEIconLoaderPrivate;
00038 class TDEStandardDirs;
00039 class TDEIconEffect;
00040
00041
00077 class TDECORE_EXPORT TDEIconLoader
00078 {
00079 public:
00080
00095 TDEIconLoader(const TQString& appname=TQString::null, TDEStandardDirs *dirs = 0);
00096
00100 ~TDEIconLoader();
00101
00106 void addAppDir(const TQString& appname);
00107
00129 TQPixmap loadIcon(const TQString& name, TDEIcon::Group group, int size=0,
00130 int state=TDEIcon::DefaultState, TQString *path_store=0L,
00131 bool canReturnNull=false) const;
00132
00151 TQIconSet loadIconSet(const TQString& name, TDEIcon::Group group, int size,
00152 bool canReturnNull, bool immediateExistenceCheck);
00153
00154
00171 TQIconSet loadIconSet(const TQString& name, TDEIcon::Group group, int size,
00172 bool canReturnNull);
00173
00174
00186 TQIconSet loadIconSet(const TQString& name, TDEIcon::Group group, int size=0);
00187
00202 TQString iconPath(const TQString& name, int group_or_size,
00203 bool canReturnNull=false) const;
00204
00213 TQMovie loadMovie(const TQString& name, TDEIcon::Group group, int size=0) const;
00214
00224 TQString moviePath(const TQString& name, TDEIcon::Group group, int size=0) const;
00225
00236 TQStringList loadAnimated(const TQString& name, TDEIcon::Group group, int size=0) const;
00237
00248 TQStringList queryIcons(int group_or_size, TDEIcon::Context context=TDEIcon::Any) const;
00249
00261 TQStringList queryIconsByContext(int group_or_size,
00262 TDEIcon::Context context=TDEIcon::Any) const;
00263
00267 bool hasContext( TDEIcon::Context context ) const;
00268
00276 TQStringList queryIconsByDir( const TQString& iconsDir ) const;
00277
00283 int currentSize(TDEIcon::Group group) const;
00284
00290 TDEIconTheme *theme() const;
00291
00296 TDEIconEffect *iconEffect() const;
00297
00304 void reconfigure( const TQString& _appname, TDEStandardDirs *_dirs );
00305
00311 static TQPixmap unknown();
00312
00320 bool alphaBlending( TDEIcon::Group group ) const;
00321
00327 void addExtraDesktopThemes();
00328
00334 bool extraDesktopThemesAdded() const;
00335
00355 void enableDelayedIconSetLoading( bool enable );
00356
00364 bool isDelayedIconSetLoadingEnabled() const;
00365
00366
00367 private:
00371 void init( const TQString& _appname, TDEStandardDirs *_dirs );
00372
00378 TDEIcon findMatchingIcon(const TQString& name, int size) const;
00379
00384 TQImage *loadOverlay(const TQString& name, int size) const;
00385
00390 void addAppThemes(const TQString& appname);
00391
00397 void addBaseThemes(TDEIconThemeNode *node, const TQString &appname);
00398
00404 TQString unknownIconPath( int size ) const;
00405
00421 TQString removeIconExtension(const TQString &name) const;
00422
00432 TQString removeIconExtensionInternal(const TQString &name) const;
00433
00437 TQIconSet loadIconSetNonDelayed( const TQString& name, TDEIcon::Group group,
00438 int size, bool canReturnNull );
00439
00440
00441 TDEIconLoaderPrivate *d;
00442 };
00443
00448 TDECORE_EXPORT TQPixmap DesktopIcon(const TQString& name, int size=0,
00449 int state=TDEIcon::DefaultState,
00450 TDEInstance *instance=TDEGlobal::instance());
00451
00456 TDECORE_EXPORT TQPixmap DesktopIcon(const TQString& name, TDEInstance *instance);
00457
00462 TDECORE_EXPORT TQIconSet DesktopIconSet(const TQString& name, int size=0,
00463 TDEInstance *instance=TDEGlobal::instance());
00464
00469 TDECORE_EXPORT TQPixmap BarIcon(const TQString& name, int size=0, int state=TDEIcon::DefaultState,
00470 TDEInstance *instance=TDEGlobal::instance());
00471
00476 TDECORE_EXPORT TQPixmap BarIcon(const TQString& name, TDEInstance *instance);
00477
00482 TDECORE_EXPORT TQIconSet BarIconSet(const TQString& name, int size=0,
00483 TDEInstance *instance=TDEGlobal::instance());
00484
00489 TDECORE_EXPORT TQPixmap SmallIcon(const TQString& name, int size=0,
00490 int state=TDEIcon::DefaultState,
00491 TDEInstance *instance=TDEGlobal::instance());
00492
00497 TDECORE_EXPORT TQPixmap SmallIcon(const TQString& name, TDEInstance *instance);
00498
00503 TDECORE_EXPORT TQIconSet SmallIconSet(const TQString& name, int size=0,
00504 TDEInstance *instance=TDEGlobal::instance());
00505
00510 TDECORE_EXPORT TQPixmap MainBarIcon(const TQString& name, int size=0,
00511 int state=TDEIcon::DefaultState,
00512 TDEInstance *instance=TDEGlobal::instance());
00513
00518 TDECORE_EXPORT TQPixmap MainBarIcon(const TQString& name, TDEInstance *instance);
00519
00524 TDECORE_EXPORT TQIconSet MainBarIconSet(const TQString& name, int size=0,
00525 TDEInstance *instance=TDEGlobal::instance());
00526
00531 TDECORE_EXPORT TQPixmap UserIcon(const TQString& name, int state=TDEIcon::DefaultState,
00532 TDEInstance *instance=TDEGlobal::instance());
00533
00538 TDECORE_EXPORT TQPixmap UserIcon(const TQString& name, TDEInstance *instance);
00539
00544 TDECORE_EXPORT TQIconSet UserIconSet(const TQString& name,
00545 TDEInstance *instance=TDEGlobal::instance());
00546
00551 TDECORE_EXPORT int IconSize(TDEIcon::Group group, TDEInstance *instance=TDEGlobal::instance());
00552
00553 #endif // __TDEIconLoader_h_Included__