kdecore Library API Documentation

kiconloader.h

00001 /* vi: ts=8 sts=4 sw=4 00002 * 00003 * $Id: kiconloader.h,v 1.124 2003/09/02 17:20:14 nhasan Exp $ 00004 * 00005 * This file is part of the KDE project, module kdecore. 00006 * Copyright (C) 2000 Geert Jansen <jansen@kde.org> 00007 * Antonio Larrosa <larrosa@kde.org> 00008 * 00009 * This is free software; it comes under the GNU Library General 00010 * Public License, version 2. See the file "COPYING.LIB" for the 00011 * exact licensing terms. 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 // Grmbl, X headers..... 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 // KDE4 merge as (const QString&,KIcon::Group,int=0,bool=false); 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 // @internal the data object 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__
KDE Logo
This file is part of the documentation for kdecore Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Aug 20 09:48:26 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003