summaryrefslogtreecommitdiffstats
path: root/kdecore/kiconloader.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdecore/kiconloader.h')
-rw-r--r--kdecore/kiconloader.h553
1 files changed, 0 insertions, 553 deletions
diff --git a/kdecore/kiconloader.h b/kdecore/kiconloader.h
deleted file mode 100644
index b7f1478f6..000000000
--- a/kdecore/kiconloader.h
+++ /dev/null
@@ -1,553 +0,0 @@
-/* vi: ts=8 sts=4 sw=4
- *
- * This file is part of the KDE project, module tdecore.
- * Copyright (C) 2000 Geert Jansen <jansen@kde.org>
- * Antonio Larrosa <larrosa@kde.org>
- *
- * This is free software; it comes under the GNU Library General
- * Public License, version 2. See the file "COPYING.LIB" for the
- * exact licensing terms.
- */
-
-#ifndef __KIconLoader_h_Included__
-#define __KIconLoader_h_Included__
-
-#include <tqstring.h>
-#include <tqpixmap.h>
-#include <tqiconset.h>
-
-// Grmbl, X headers.....
-#ifdef Status
-#define KIconLoaderXStatus Status
-#undef Status
-#endif
-#include <tqmovie.h>
-#ifdef KIconLoaderXStatus
-#define Status int
-#undef KIconLoaderXStatus
-#endif
-
-#include <kglobal.h>
-#include <kinstance.h>
-#include <kicontheme.h>
-
-struct KIconGroup;
-class KIconThemeNode;
-class KConfig;
-struct KIconLoaderPrivate;
-class KStandardDirs;
-class KIconEffect;
-
-
-/**
- * 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.
- *
- * @li KIcon::Desktop: Icons in the iconview of konqueror, kdesktop and similar apps.
- * @li KIcon::Toolbar: Icons in toolbars.
- * @li KIcon::MainToolbar: Icons in the main toolbars.
- * @li KIcon::Small: Various small (typical 16x16) places: titlebars, listviews
- * and menu entries.
- * @li 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".
- *
- */
-class KDECORE_EXPORT KIconLoader
-{
-public:
-
- /**
- * Constructs an iconloader.
- * @param 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.
- * @param dirs 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 KGlobal::iconLoader()
- * @see KInstance::iconLoader()
- */
- KIconLoader(const TQString& appname=TQString::null, KStandardDirs *dirs = 0);
-
- /**
- * Cleanup
- */
- ~KIconLoader();
-
- /**
- * Adds @p appname to the list of application specific directories.
- * @param appname The application name.
- */
- void addAppDir(const TQString& appname);
-
- /**
- * 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
- * @p canReturnNull parameter.
- *
- * @param name The name of the icon, without extension.
- * @param group The icon group. This will specify the size of and effects to
- * be applied to the icon.
- * @param size If nonzero, this overrides the size specified by @p group.
- * See KIcon::StdSizes.
- * @param state The icon state: @p DefaultState, @p ActiveState or
- * @p DisabledState. Depending on the user's preferences, the iconloader
- * may apply a visual effect to hint about its state.
- * @param path_store If not null, the path of the icon is stored here.
- * @param canReturnNull Can return a null pixmap? If false, the
- * "unknown" pixmap is returned when no appropriate icon has been found.
- * @return the TQPixmap. Can be null when not found, depending on
- * @p canReturnNull.
- */
- TQPixmap loadIcon(const TQString& name, KIcon::Group group, int size=0,
- int state=KIcon::DefaultState, TQString *path_store=0L,
- bool canReturnNull=false) const;
-
- /**
- * Creates an icon set, that will do on-demand loading of the icon.
- * Loading itself is done by calling loadIcon .
- *
- * @param name The name of the icon, without extension.
- * @param group The icon group. This will specify the size of and effects to
- * be applied to the icon.
- * @param size If nonzero, this overrides the size specified by @p group.
- * See KIcon::StdSizes.
- * @param canReturnNull Can return a null iconset? If false, iconset
- * containing the "unknown" pixmap is returned when no appropriate icon has
- * been found.
- * @param immediateExistenceCheck If true on-demand icon loading will be
- * disabled for canReturnNull and a null iconset may be returned immediately
- * @return the icon set. Can be null when not found, depending on
- * @p canReturnNull.
- * @since 3.5
- */
- TQIconSet loadIconSet(const TQString& name, KIcon::Group group, int size,
- bool canReturnNull, bool immediateExistenceCheck);
-
- // KDE4 merge as (const TQString&,KIcon::Group,int=0,bool=false,bool=true);
- /**
- * Creates an icon set, that will do on-demand loading of the icon.
- * Loading itself is done by calling loadIcon .
- *
- * @param name The name of the icon, without extension.
- * @param group The icon group. This will specify the size of and effects to
- * be applied to the icon.
- * @param size If nonzero, this overrides the size specified by @p group.
- * See KIcon::StdSizes.
- * @param canReturnNull Can return a null iconset? If false, iconset
- * containing the "unknown" pixmap is returned when no appropriate icon has
- * been found.
- * @return the icon set. Can be null when not found, depending on
- * @p canReturnNull.
- * @since 3.1
- */
- TQIconSet loadIconSet(const TQString& name, KIcon::Group group, int size,
- bool canReturnNull);
-
- // KDE4 merge as (const TQString&,KIcon::Group,int=0,bool=false,bool=true);
- /**
- * Creates an icon set, that will do on-demand loading of the icon.
- * Loading itself is done by calling loadIcon .
- *
- * @param name The name of the icon, without extension.
- * @param group The icon group. This will specify the size of and effects to
- * be applied to the icon.
- * @param size If nonzero, this overrides the size specified by @p group.
- * See KIcon::StdSizes.
- * @return the icon set. Can be null when not found
- */
- TQIconSet loadIconSet(const TQString& name, KIcon::Group group, int size=0);
-
- /**
- * Returns the path of an icon.
- * @param name The name of the icon, without extension. If an absolute
- * path is supplied for this parameter, iconPath will return it
- * directly.
- * @param group_or_size If positive, search icons whose size is
- * specified by the icon group @p group_or_size. If negative, search
- * icons whose size is - @p group_or_size.
- * See KIcon::Group and KIcon::StdSizes
- * @param canReturnNull Can return a null string? If not, a path to the
- * "unknown" icon will be returned.
- * @return the path of an icon, can be null or the "unknown" icon when
- * not found, depending on @p canReturnNull.
- */
- TQString iconPath(const TQString& name, int group_or_size,
- bool canReturnNull=false) const;
-
- /**
- * Loads an animated icon.
- * @param name The name of the icon.
- * @param group The icon group. See loadIcon().
- * @param size Override the default size for @p group.
- * See KIcon::StdSizes.
- * @return A TQMovie object. Can be null if not found.
- */
- TQMovie loadMovie(const TQString& name, KIcon::Group group, int size=0) const;
-
- /**
- * Returns the path to an animated icon.
- * @param name The name of the icon.
- * @param group The icon group. See loadIcon().
- * @param size Override the default size for @p group.
- * See KIcon::StdSizes.
- * @return the full path to the movie, ready to be passed to QMovie's constructor.
- * Empty string if not found.
- */
- TQString moviePath(const TQString& name, KIcon::Group group, int size=0) const;
-
- /**
- * Loads an animated icon as a series of still frames. If you want to load
- * a .mng animation as TQMovie instead, please use loadMovie() instead.
- * @param name The name of the icon.
- * @param group The icon group. See loadIcon().
- * @param size Override the default size for @p group.
- * See KIcon::StdSizes.
- * @return A TQStringList containing the absolute path of all the frames
- * making up the animation.
- */
- TQStringList loadAnimated(const TQString& name, KIcon::Group group, int size=0) const;
-
- /**
- * Queries all available icons for a specific group, having a specific
- * context.
- * @param group_or_size If positive, search icons whose size is
- * specified by the icon group @p group_or_size. If negative, search
- * icons whose size is - @p group_or_size.
- * See KIcon::Group and KIcon::StdSizes
- * @param context The icon context.
- * @return a list of all icons
- */
- TQStringList queryIcons(int group_or_size, KIcon::Context context=KIcon::Any) const;
-
- /**
- * Queries all available icons for a specific context.
- * @param 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
- * @param context The icon context.
- * @return A TQStringList containing the icon names
- * available for that context
- */
- TQStringList queryIconsByContext(int group_or_size,
- KIcon::Context context=KIcon::Any) const;
-
- /**
- * @internal
- */
- bool hasContext( KIcon::Context context ) const;
-
- /**
- * Returns a list of all icons (*.png or *.xpm extension) in the
- * given directory.
- * @param iconsDir the directory to search in
- * @return A TQStringList containing the icon paths
- * @since 3.1
- */
- TQStringList queryIconsByDir( const TQString& iconsDir ) const;
-
- /**
- * Returns the current size of the group.
- * @param group the group to check.
- * @return the current size for an icon group.
- */
- int currentSize(KIcon::Group group) const;
-
- /**
- * Returns a pointer to the current theme. Can be used to query
- * available and default sizes for groups.
- * @return a pointer to the current theme. 0 if no theme set.
- */
- KIconTheme *theme() const;
-
- /**
- * Returns a pointer to the KIconEffect object used by the icon loader.
- * @return the KIconEffect.
- */
- KIconEffect *iconEffect() const;
-
- /**
- * Called by KInstance::newIconLoader to reconfigure the icon loader.
- * @param _appname the new application name
- * @param _dirs the new standard directories. If 0, the directories
- * from KGlobal will be taken.
- */
- void reconfigure( const TQString& _appname, KStandardDirs *_dirs );
-
- /**
- * Returns the unknown icon. An icon that is used when no other icon
- * can be found.
- * @return the unknown pixmap
- */
- static TQPixmap unknown();
-
- /**
- * Checks whether the user wants to blend the icons with the background
- * using the alpha channel information for a given group.
- * @param group the group to check
- * @return true if alpha blending is desired
- * @obsolete
- */
- bool alphaBlending( KIcon::Group group ) const;
-
- /**
- * Adds all the default themes from other desktops at the end of
- * the list of icon themes.
- * @since 3.1
- */
- void addExtraDesktopThemes();
-
- /**
- * 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
- */
- bool extraDesktopThemesAdded() const;
-
- /**
- * Enables on-demand icon loading for QIconSets using TQIconFactory.
- * 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.
- *
- * @param enable true to enable delayed icon loading, false to disable
- * @see isDelayedIconSetLoadingEnabled()
- * @see QIconFactory
- * @since 3.1
- */
- void enableDelayedIconSetLoading( bool enable );
-
- /**
- * Checks whether delayed loading for TQIconSet is enabled.
- * @return whether icons for QIconSets will be loaded on demand.
- * @see enableDelayedIconSetLoading()
- * @see QIconFactory
- * @since 3.1
- */
- bool isDelayedIconSetLoadingEnabled() const;
-
-
- private:
- /**
- * @internal
- */
- void init( const TQString& _appname, KStandardDirs *_dirs );
-
- /**
- * @internal
- * tries to find an icon with the name. It tries some extension and
- * match strategies
- */
- KIcon findMatchingIcon(const TQString& name, int size) const;
-
- /**
- * @internal
- * Loads and caches an overlay.
- */
- TQImage *loadOverlay(const TQString& name, int size) const;
-
- /**
- * @internal
- * Adds themes installed in the application's directory.
- **/
- void addAppThemes(const TQString& appname);
-
- /**
- * Adds all themes that are part of this node and the themes
- * below (the fallbacks of the theme) in the tree.
- * @internal
- */
- void addBaseThemes(KIconThemeNode *node, const TQString &appname);
-
- /**
- * @internal
- * return the path for the unknown icon in that size
- * @since 3.1
- */
- TQString unknownIconPath( int size ) const;
-
- /**
- * Checks if name ends in one of the supported icon formats (i.e. .png)
- * and returns the name without the extension if it does.
- *
- * Otherwise name is returned unchanged.
- *
- * Currently supported:
- * - png
- * - xpm
- * - svg (if libart is being used)
- * - svgz (if libart is being used)
- *
- * TODO: KDE 4 make public & static
- * @since 3.1
- */
- TQString removeIconExtension(const TQString &name) const;
-
- /**
- * Same as removeIconExtension except it prints a debug message
- * if an extension is removed to help catch programming errors.
- *
- * @see findMatchingIcon()
- * @see iconPath()
- *
- * TODO: KDE 4 make static
- */
- TQString removeIconExtensionInternal(const TQString &name) const;
-
- /**
- * Loads all the different sizes for an iconset.
- */
- TQIconSet loadIconSetNonDelayed( const TQString& name, KIcon::Group group,
- int size, bool canReturnNull );
-
- // @internal the data object
- KIconLoaderPrivate *d;
-};
-
-/**
- * \relates KIconLoader
- * Load a desktop icon.
- */
-KDECORE_EXPORT TQPixmap DesktopIcon(const TQString& name, int size=0,
- int state=KIcon::DefaultState,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a desktop icon.
- */
-KDECORE_EXPORT TQPixmap DesktopIcon(const TQString& name, KInstance *instance);
-
-/**
- * \relates KIconLoader
- * Load a desktop icon, and apply the necessary effects to get an IconSet.
- */
-KDECORE_EXPORT TQIconSet DesktopIconSet(const TQString& name, int size=0,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a toolbar icon.
- */
-KDECORE_EXPORT TQPixmap BarIcon(const TQString& name, int size=0, int state=KIcon::DefaultState,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a toolbar icon.
- */
-KDECORE_EXPORT TQPixmap BarIcon(const TQString& name, KInstance *instance);
-
-/**
- * \relates KIconLoader
- * Load a toolbar icon, and apply the necessary effects to get an IconSet.
- */
-KDECORE_EXPORT TQIconSet BarIconSet(const TQString& name, int size=0,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a small icon.
- */
-KDECORE_EXPORT TQPixmap SmallIcon(const TQString& name, int size=0,
- int state=KIcon::DefaultState,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a small icon.
- */
-KDECORE_EXPORT TQPixmap SmallIcon(const TQString& name, KInstance *instance);
-
-/**
- * \relates KIconLoader
- * Load a small icon, and apply the necessary effects to get an IconSet.
- */
-KDECORE_EXPORT TQIconSet SmallIconSet(const TQString& name, int size=0,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a main toolbar icon.
- */
-KDECORE_EXPORT TQPixmap MainBarIcon(const TQString& name, int size=0,
- int state=KIcon::DefaultState,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a main toolbar icon.
- */
-KDECORE_EXPORT TQPixmap MainBarIcon(const TQString& name, KInstance *instance);
-
-/**
- * \relates KIconLoader
- * Load a main toolbar icon, and apply the effects to get an IconSet.
- */
-KDECORE_EXPORT TQIconSet MainBarIconSet(const TQString& name, int size=0,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a user icon. User icons are searched in $appdir/pics.
- */
-KDECORE_EXPORT TQPixmap UserIcon(const TQString& name, int state=KIcon::DefaultState,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Load a user icon. User icons are searched in $appdir/pics.
- */
-KDECORE_EXPORT TQPixmap UserIcon(const TQString& name, KInstance *instance);
-
-/**
- * \relates KIconLoader
- * Load a user icon, and apply the effects to get an IconSet.
- */
-KDECORE_EXPORT TQIconSet UserIconSet(const TQString& name,
- KInstance *instance=KGlobal::instance());
-
-/**
- * \relates KIconLoader
- * Returns the current icon size for a specific group.
- */
-KDECORE_EXPORT int IconSize(KIcon::Group group, KInstance *instance=KGlobal::instance());
-
-#endif // __KIconLoader_h_Included__