00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
#ifndef __KIconLoader_h_Included__
00013
#define __KIconLoader_h_Included__
00014
00015
#include <qstring.h>
00016
#include <qpixmap.h>
00017
#include <qiconset.h>
00018
00019
00020
#ifdef Status
00021
#define KIconLoaderXStatus Status
00022
#undef Status
00023
#endif
00024
#include <qmovie.h>
00025
#ifdef KIconLoaderXStatus
00026
#define Status int
00027
#undef KIconLoaderXStatus
00028
#endif
00029
00030
#include <kglobal.h>
00031
#include <kinstance.h>
00032
#include <kicontheme.h>
00033
00034
struct KIconGroup;
00035
class KIconThemeNode;
00036
class KConfig;
00037
struct KIconLoaderPrivate;
00038
class KStandardDirs;
00039
class KIconEffect;
00040
00041
00077 class KDECORE_EXPORT KIconLoader
00078 {
00079
public:
00080
00095 KIconLoader(
const QString& appname=QString::null,
KStandardDirs *dirs = 0);
00096
00100 ~KIconLoader();
00101
00106
void addAppDir(
const QString& appname);
00107
00129
QPixmap loadIcon(
const QString& name, KIcon::Group group,
int size=0,
00130
int state=KIcon::DefaultState,
QString *path_store=0L,
00131
bool canReturnNull=
false)
const;
00132
00149
QIconSet loadIconSet(
const QString& name, KIcon::Group group,
int size,
00150
bool canReturnNull);
00151
00152
00164
QIconSet loadIconSet(
const QString& name, KIcon::Group group,
int size=0);
00165
00180
QString iconPath(
const QString& name,
int group_or_size,
00181
bool canReturnNull=
false)
const;
00182
00191
QMovie loadMovie(
const QString& name, KIcon::Group group,
int size=0)
const;
00192
00202
QString moviePath(
const QString& name, KIcon::Group group,
int size=0)
const;
00203
00214
QStringList loadAnimated(
const QString& name, KIcon::Group group,
int size=0)
const;
00215
00226
QStringList queryIcons(
int group_or_size, KIcon::Context context=KIcon::Any)
const;
00227
00239
QStringList queryIconsByContext(
int group_or_size,
00240 KIcon::Context context=KIcon::Any)
const;
00241
00249
QStringList queryIconsByDir(
const QString& iconsDir )
const;
00250
00256
int currentSize(KIcon::Group group)
const;
00257
00263
KIconTheme *theme()
const;
00264
00269
KIconEffect *iconEffect()
const;
00270
00277
void reconfigure(
const QString& _appname,
KStandardDirs *_dirs );
00278
00284
static QPixmap unknown();
00285
00293
bool alphaBlending( KIcon::Group group )
const;
00294
00300
void addExtraDesktopThemes();
00301
00307
bool extraDesktopThemesAdded()
const;
00308
00328
void enableDelayedIconSetLoading(
bool enable );
00329
00337
bool isDelayedIconSetLoadingEnabled()
const;
00338
00339
00340
private:
00344
void init(
const QString& _appname,
KStandardDirs *_dirs );
00345
00351
KIcon findMatchingIcon(
const QString& name,
int size)
const;
00352
00357
QImage *loadOverlay(
const QString& name,
int size)
const;
00358
00363
void addAppThemes(
const QString& appname);
00364
00370
void addBaseThemes(KIconThemeNode *node,
const QString &appname);
00371
00377
QString unknownIconPath(
int size )
const;
00378
00384
QString removeIconExtension(
const QString &name)
const;
00385
00389
QIconSet loadIconSetNonDelayed(
const QString& name, KIcon::Group group,
00390
int size,
bool canReturnNull );
00391
00392
00393 KIconLoaderPrivate *d;
00394 };
00395
00400 KDECORE_EXPORT
QPixmap DesktopIcon(
const QString& name,
int size=0,
00401
int state=KIcon::DefaultState,
00402
KInstance *instance=KGlobal::instance());
00403
00408 KDECORE_EXPORT
QPixmap DesktopIcon(
const QString& name,
KInstance *instance);
00409
00414 KDECORE_EXPORT
QIconSet DesktopIconSet(
const QString& name,
int size=0,
00415
KInstance *instance=KGlobal::instance());
00416
00421 KDECORE_EXPORT
QPixmap BarIcon(
const QString& name,
int size=0,
int state=KIcon::DefaultState,
00422
KInstance *instance=KGlobal::instance());
00423
00428 KDECORE_EXPORT
QPixmap BarIcon(
const QString& name,
KInstance *instance);
00429
00434 KDECORE_EXPORT
QIconSet BarIconSet(
const QString& name,
int size=0,
00435
KInstance *instance=KGlobal::instance());
00436
00441 KDECORE_EXPORT
QPixmap SmallIcon(
const QString& name,
int size=0,
00442
int state=KIcon::DefaultState,
00443
KInstance *instance=KGlobal::instance());
00444
00449 KDECORE_EXPORT
QPixmap SmallIcon(
const QString& name,
KInstance *instance);
00450
00455 KDECORE_EXPORT
QIconSet SmallIconSet(
const QString& name,
int size=0,
00456
KInstance *instance=KGlobal::instance());
00457
00462 KDECORE_EXPORT
QPixmap MainBarIcon(
const QString& name,
int size=0,
00463
int state=KIcon::DefaultState,
00464
KInstance *instance=KGlobal::instance());
00465
00470 KDECORE_EXPORT
QPixmap MainBarIcon(
const QString& name,
KInstance *instance);
00471
00476 KDECORE_EXPORT
QIconSet MainBarIconSet(
const QString& name,
int size=0,
00477
KInstance *instance=KGlobal::instance());
00478
00483 KDECORE_EXPORT
QPixmap UserIcon(
const QString& name,
int state=KIcon::DefaultState,
00484
KInstance *instance=KGlobal::instance());
00485
00490 KDECORE_EXPORT
QPixmap UserIcon(
const QString& name,
KInstance *instance);
00491
00496 KDECORE_EXPORT
QIconSet UserIconSet(
const QString& name,
00497
KInstance *instance=KGlobal::instance());
00498
00503 KDECORE_EXPORT
int IconSize(KIcon::Group group,
KInstance *instance=KGlobal::instance());
00504
00505
#endif // __KIconLoader_h_Included__