kdecore Library API Documentation

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.

KIconThemetheme () const
 Returns a pointer to the current theme.

KIconEffecticonEffect () 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.

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 558 of file kiconloader.cpp.

References KIcon::Any, KIcon::context, QPixmap::convertFromImage(), QPixmap::convertToImage(), QImage::copy(), QPixmap::createHeuristicMask(), KIcon::DefaultState, QPixmapCache::find(), KIcon::Fixed, QString::fromLatin1(), QImage::height(), QPixmap::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, QImage::width(), QPixmap::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 1112 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 1090 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 491 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 865 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 877 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 915 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 1035 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 995 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 984 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 972 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 966 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 1073 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 1275 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 1078 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:
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 27 22:14:50 2005 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001