# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# KIconLoader Class Reference

Iconloader for KDE. More...

`#include <kiconloader.h>`

List of all members.

## Public Member Functions

| KIconLoader (const QString &appname=QString::null, KStandardDirs *dirs=0)
| Constructs an iconloader.
| ~KIconLoader ()
| Cleanup.
void | addAppDir (const QString &appname)
| Adds `appname` to the list of application specific directories.
QPixmap | loadIcon (const QString &name, KIcon::Group group, int size=0, int state=KIcon::DefaultState, QString *path_store=0L, bool canReturnNull=false) const
| Loads an icon.
QIconSet | loadIconSet (const QString &name, KIcon::Group group, int size, bool canReturnNull)
| Creates an icon set, that will do on-demand loading of the icon.
QIconSet | loadIconSet (const QString &name, KIcon::Group group, int size=0)
| Creates an icon set, that will do on-demand loading of the icon.
QString | iconPath (const QString &name, int group_or_size, bool canReturnNull=false) const
| Returns the path of an icon.
QMovie | loadMovie (const QString &name, KIcon::Group group, int size=0) const
| Loads an animated icon.
QString | moviePath (const QString &name, KIcon::Group group, int size=0) const
| Returns the path to an animated icon.
QStringList | loadAnimated (const QString &name, KIcon::Group group, int size=0) const
| Loads an animated icon.
QStringList | queryIcons (int group_or_size, KIcon::Context context=KIcon::Any) const
| Queries all available icons for a specific group, having a specific context.
QStringList | queryIconsByContext (int group_or_size, KIcon::Context context=KIcon::Any) const
| Queries all available icons for a specific context.
QStringList | queryIconsByDir (const QString &iconsDir) const
| Returns a list of all icons (*.png or *.xpm extension) in the given directory.
int | currentSize (KIcon::Group group) const
| Returns the current size of the group.
KIconTheme * | theme () const
| Returns a pointer to the current theme.
KIconEffect * | iconEffect () const
| Returns a pointer to the KIconEffect object used by the icon loader.
void | reconfigure (const QString &_appname, KStandardDirs *_dirs)
| Called by KInstance::newIconLoader to reconfigure the icon loader.
bool | alphaBlending (KIcon::Group group) const
| Returns if the user wants to use blend the icons with the background using the alpha channel information for a given group.
void | addExtraDesktopThemes ()
| Adds all the default themes from other desktops at the end of the list of icon themes.
bool | extraDesktopThemesAdded () const
| Returns if the default icon themes of other desktops have been added to the list of icon themes where icons are searched.
void | enableDelayedIconSetLoading (bool enable)
| Enables on-demand icon loading for QIconSets using QIconFactory.
bool | isDelayedIconSetLoadingEnabled () const

## Static Public Member Functions

QPixmap | unknown ()
| Returns the unknown icon.

## Detailed Description

Iconloader for KDE.

KIconLoader will load the current icon theme and all its base themes. Icons will be searched in any of these themes. Additionally, it caches icons and applies effects according the the user's preferences.

In KDE, it is encouraged to load icons by "Group". An icon group is a location on the screen where icons are being used. Standard groups are: Desktop, Toolbar, MainToolbar, Small and Panel. Each group has some centrally configured properties bound to it, including the icon size and effects. This makes it possible to offer a consistent icon look in all KDE applications.

The standard groups are defined below.

- KIcon::Desktop: Icons in the iconview of konqueror, kdesktop and similar apps.
- KIcon::Toolbar: Icons in toolbars.
- KIcon::MainToolbar: Icons in the main toolbars.
- KIcon::Small: Various small (typical 16x16) places: titlebars, listviews and menu entries.
- KIcon::Panel: Icons in kicker's panel

The icons are stored on disk in an icon theme or in a standalone directory. The icon theme directories contain multiple sizes and/or depths for the same icon. The iconloader will load the correct one based on the icon group and the current theme. Icon themes are stored globally in share/icons, or, application specific in share/apps/$appdir/icons.

The standalone directories contain just one version of an icon. The directories that are searched are: $appdir/pics and $appdir/toolbar. Icons in these directories can be loaded by using the special group "User".

Definition at line 79 of file kiconloader.h.

## Constructor & Destructor Documentation

KIconLoader::KIconLoader | ( | const QString & | appname = QString::null,
|  | KStandardDirs * | dirs = 0
| ) |

Constructs an iconloader.

Parameters:

  appname | Add the data directories of this application to the icon search path for the "User" group. The default argument adds the directories of the current application.
  the | KStandardDirs object to use. If null the global one is used

Usually, you use the default iconloader, which can be accessed via KGlobal::iconLoader(), so you hardly ever have to create an iconloader object yourself. That one is the current KInstance's (typically KApplication's) iconloader.

See also:
  KGlobal::iconLoader()

  KInstance::iconLoader()

Definition at line 140 of file kiconloader.cpp.

KIconLoader::~KIconLoader | ( |  | ) |

| Cleanup. Definition at line 239 of file kiconloader.cpp.

## Member Function Documentation

void KIconLoader::addAppDir | ( | const QString & | appname | ) |

Adds `appname` to the list of application specific directories.

Parameters:

  appname | The application name.

Definition at line 258 of file kiconloader.cpp.

References KStandardDirs::kde_default().

QPixmap KIconLoader::loadIcon | ( | const QString & | name,
|  | KIcon::Group | group,
|  | int | size = 0,
|  | int | state = KIcon::DefaultState,
|  | QString * | path_store = 0L,
|  | bool | canReturnNull = false
| ) | const

Loads an icon.

It will try very hard to find an icon which is suitable. If no exact match is found, a close match is searched. If neither an exact nor a close match is found, a null pixmap or the "unknown" pixmap is returned, depending on the value of the `canReturnNull` parameter.

Parameters:

  name | The name of the icon, without extension.
  group | The icon group. This will specify the size of and effects to be applied to the icon.
  size | If nonzero, this overrides the size specified by `group`. See KIcon::StdSizes.
  state | The icon state: `DefaultState`, `ActiveState` or `DisabledState`. Depending on the user's preferences, the iconloader may apply a visual effect to hint about its state.
  path_store | If not null, the path of the icon is stored here.
  canReturnNull | Can return a null pixmap? If false, the "unknown" pixmap is returned when no appropriate icon has been found.

Returns:
  the QPixmap. Can be null when not found, depending on `canReturnNull`.

Definition at line 543 of file kiconloader.cpp.

References KIcon::Any, KIcon::context, QPixmap::convertFromImage(), QImage::copy(), QPixmap::createHeuristicMask(), KIcon::DefaultState, QPixmapCache::find(), QString::fromLatin1(), QPixmap::height(), QImage::height(), KIcon::HiddenOverlay, iconPath(), QPixmapCache::insert(), QString::isEmpty(), QImage::isNull(), QPixmap::isNull(), KIcon::isValid(), KStdAccel::key(), KIcon::LastState, QString::latin1(), KIconTheme::linkOverlay(), KIcon::LinkOverlay, QPixmap::load(), KIconTheme::lockOverlay(), KIcon::LockOverlay, QPixmap::mask(), KStdAction::name(), QString::number(), KIconEffect::overlay(), KIcon::path, QString::right(), KIcon::Scalable, QImage::scanLine(), QPixmap::setMask(), KIconTheme::shareOverlay(), KIcon::ShareOverlay, QImage::smoothScale(), KGlobal::staticQString(), theme(), KIcon::Threshold, KIcon::threshold, KIcon::type, QPixmap::width(), QImage::width(), KIconTheme::zipOverlay(), and KIcon::ZipOverlay.

Referenced by KWin::icon(), and loadIconSet().

QIconSet KIconLoader::loadIconSet | ( | const QString & | name,
|  | KIcon::Group | group,
|  | int | size,
|  | bool | canReturnNull
| ) |

Creates an icon set, that will do on-demand loading of the icon.

Loading itself is done by calling loadIcon .

Parameters:

  name | The name of the icon, without extension.
  group | The icon group. This will specify the size of and effects to be applied to the icon.
  size | If nonzero, this overrides the size specified by `group`. See KIcon::StdSizes.
  canReturnNull | Can return a null iconset? If false, iconset containing the "unknown" pixmap is returned when no appropriate icon has been found.

Returns:
  the icon set. Can be null when not found, depending on `canReturnNull`.

Since:
  3.1

Definition at line 1087 of file kiconloader.cpp.

References KIcon::DefaultState, QIconSet::installIconFactory(), QPixmap::isNull(), loadIcon(), and KStdAction::name().

Referenced by loadIconSet().

QIconSet KIconLoader::loadIconSet | ( | const QString & | name,
|  | KIcon::Group | group,
|  | int | size = 0
| ) |

Creates an icon set, that will do on-demand loading of the icon.

Loading itself is done by calling loadIcon .

Parameters:

  name | The name of the icon, without extension.
  group | The icon group. This will specify the size of and effects to be applied to the icon.
  size | If nonzero, this overrides the size specified by `group`. See KIcon::StdSizes.

Returns:
  the icon set. Can be null when not found

Definition at line 1065 of file kiconloader.cpp.

References loadIconSet(), and KStdAction::name().

QString KIconLoader::iconPath | ( | const QString & | name,
|  | int | group_or_size,
|  | bool | canReturnNull = false
| ) | const

Returns the path of an icon.

Parameters:

  name | The name of the icon, without extension. If an absolute path is supplied for this parameter, iconPath will return it directly.
  group_or_size | If positive, search icons whose size is specified by the icon group `group_or_size`. If negative, search icons whose size is - `group_or_size`. See KIcon::Group and KIcon::StdSizes
  canReturnNull | Can return a null string? If not, a path to the "unknown" icon will be returned.

Returns:
  the path of an icon, can be null or the "unknown" icon when not found, depending on `canReturnNull`.

Definition at line 476 of file kiconloader.cpp.

References QString::at(), QString::isEmpty(), KIcon::isValid(), KStdAction::name(), KIcon::path, and KGlobal::staticQString().

Referenced by loadIcon(), loadMovie(), and unknown().

QMovie KIconLoader::loadMovie | ( | const QString & | name,
|  | KIcon::Group | group,
|  | int | size = 0
| ) | const

Loads an animated icon.

Parameters:

  name | The name of the icon.
  group | The icon group. See loadIcon().
  size | Override the default size for `group`. See KIcon::StdSizes.

Returns:
  A QMovie object. Can be null if not found.

Definition at line 840 of file kiconloader.cpp.

References QString::findRev(), iconPath(), QString::isEmpty(), QString::left(), moviePath(), and KStdAction::name().

QString KIconLoader::moviePath | ( | const QString & | name,
|  | KIcon::Group | group,
|  | int | size = 0
| ) | const

Returns the path to an animated icon.

Parameters:

  name | The name of the icon.
  group | The icon group. See loadIcon().
  size | Override the default size for `group`. See KIcon::StdSizes.

Returns:
  the full path to the movie, ready to be passed to QMovie's constructor. Empty string if not found.

Definition at line 852 of file kiconloader.cpp.

References KIcon::isValid(), KIcon::MatchBest, KIcon::MatchExact, KStdAction::name(), and KIcon::path.

Referenced by loadMovie().

QStringList KIconLoader::loadAnimated | ( | const QString & | name,
|  | KIcon::Group | group,
|  | int | size = 0
| ) | const

Loads an animated icon.

In the future, this will be replaced by a routine which loads an MNG animation and returns a QMovie.

Parameters:

  name | The name of the icon.
  group | The icon group. See loadIcon().
  size | Override the default size for `group`. See KIcon::StdSizes.

Returns:
  A QStringList containing the absolute path of all the frames making up the animation.

Definition at line 890 of file kiconloader.cpp.

References QFile::decodeName(), QFile::encodeName(), QString::isEmpty(), KIcon::isValid(), QString::left(), QString::length(), KStdAction::name(), KIcon::path, and QStringList::sort().

QStringList KIconLoader::queryIcons | ( | int | group_or_size,
|  | KIcon::Context | context = KIcon::Any
| ) | const

Queries all available icons for a specific group, having a specific context.

Parameters:

  group_or_size | If positive, search icons whose size is specified by the icon group `group_or_size`. If negative, search icons whose size is - `group_or_size`. See KIcon::Group and KIcon::StdSizes
  context | The icon context.

Returns:
  a list of all icons

Definition at line 1010 of file kiconloader.cpp.

References KStdAction::name().

QStringList KIconLoader::queryIconsByContext | ( | int | group_or_size,
|  | KIcon::Context | context = KIcon::Any
| ) | const

Queries all available icons for a specific context.

Parameters:

  group_or_size | The icon preferred group or size. If available at this group or size, those icons will be returned, in other case, icons of undefined size will be returned. Positive numbers are groups, negative numbers are negated sizes. See KIcon::Group and KIcon::StdSizes
  context | The icon context.

Returns:
  A QStringList containing the icon names available for that context

Definition at line 970 of file kiconloader.cpp.

References KStdAction::name().

QStringList KIconLoader::queryIconsByDir | ( | const QString & | iconsDir | ) | const

Returns a list of all icons (*.png or *.xpm extension) in the given directory.

Parameters:

  iconsDir | the directory to search in

Returns:
  A QStringList containing the icon paths

Since:
  3.1

Definition at line 959 of file kiconloader.cpp.

References QDir::entryList().

int KIconLoader::currentSize | ( | KIcon::Group | group | ) | const

Returns the current size of the group.

Parameters:

  group | the group to check.

Returns:
  the current size for an icon group.

Definition at line 947 of file kiconloader.cpp.

KIconTheme * KIconLoader::theme | ( |  | ) | const

Returns a pointer to the current theme.

Can be used to query available and default sizes for groups.

Returns:
  a pointer to the current theme. 0 if no theme set.

Definition at line 941 of file kiconloader.cpp.

Referenced by loadIcon().

KIconEffect * KIconLoader::iconEffect | ( |  | ) | const

Returns a pointer to the KIconEffect object used by the icon loader.

Returns:
  the KIconEffect.

Definition at line 1048 of file kiconloader.cpp.

void KIconLoader::reconfigure | ( | const QString & | _appname,
|  | KStandardDirs * | _dirs
| ) |

Called by KInstance::newIconLoader to reconfigure the icon loader.

Parameters:

  _appname | the new application name
  _dirs | the new standard directories. If 0, the directories from KGlobal will be taken.

Definition at line 145 of file kiconloader.cpp.

Referenced by KInstance::newIconLoader().

QPixmap KIconLoader::unknown | ( |  | ) | `[static]`

Returns the unknown icon.

An icon that is used when no other icon can be found.

Returns:
  the unknown pixmap

Definition at line 1250 of file kiconloader.cpp.

References QPixmapCache::find(), KGlobal::iconLoader(), iconPath(), QPixmapCache::insert(), QString::isEmpty(), QPixmap::load(), and QPixmap::resize().

bool KIconLoader::alphaBlending | ( | KIcon::Group | group | ) | const

Returns if the user wants to use blend the icons with the background using the alpha channel information for a given group.

Parameters:

  group | the group to check

Returns:
  true if alpha blending is desired

Deprecated:

Definition at line 1053 of file kiconloader.cpp.

void KIconLoader::addExtraDesktopThemes | ( |  | ) |

Adds all the default themes from other desktops at the end of the list of icon themes.

Since:
  3.1

Definition at line 310 of file kiconloader.cpp.

References QDir::dirName(), KGlobal::dirs(), QFile::encodeName(), QDir::entryList(), KStandardDirs::exists(), QDir::exists(), and KStandardDirs::resourceDirs().

bool KIconLoader::extraDesktopThemesAdded | ( |  | ) | const

Returns if the default icon themes of other desktops have been added to the list of icon themes where icons are searched.

Since:
  3.1

Definition at line 361 of file kiconloader.cpp.

void KIconLoader::enableDelayedIconSetLoading | ( | bool | enable | ) |

Enables on-demand icon loading for QIconSets using QIconFactory.

Icons loaded via loadIconSet() will be loaded as soon as they need to be displayed, not earlier.

Note that enabling or disabling this only affects loadIconSet() calls after this setting is changed.

The default is disabled, as the iconloader object must not be destroyed before all those iconsets are destroyed.

(Some broken applications use temporary KIconLoader objects). Every KInstance 's iconloader has this feature enabled.

See also:
  isDelayedIconSetLoadingEnabled()

  QIconFactory

Since:
  3.1

Definition at line 248 of file kiconloader.cpp.

Referenced by KInstance::iconLoader().

bool KIconLoader::isDelayedIconSetLoadingEnabled | ( |  | ) | const

Returns:
  whether icons for QIconSets will be loaded on demand.

See also:
  enableDelayedIconSetLoading()

  QIconFactory

Since:
  3.1

Definition at line 253 of file kiconloader.cpp.

The documentation for this class was generated from the following files:

- kiconloader.h
- kiconloader.cpp

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:49:14 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001