• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KDEUI

  • kdeui
  • icons
kiconloader.h
Go to the documentation of this file.
1/* vi: ts=8 sts=4 sw=4
2 *
3 * This file is part of the KDE project, module kdecore.
4 * Copyright (C) 2000 Geert Jansen <jansen@kde.org>
5 * Antonio Larrosa <larrosa@kde.org>
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public
9 * License version 2 as published by the Free Software Foundation.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public License
17 * along with this library; see the file COPYING.LIB. If not, write to
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301, USA.
20 */
21
22#ifndef KICONLOADER_H
23#define KICONLOADER_H
24
25#include <QtCore/QString>
26#include <QtCore/QStringList>
27#include <QtCore/QObject>
28
29#include <kglobal.h>
30#include <kdeui_export.h>
31
32class QIcon;
33class QMovie;
34class QPixmap;
35
36class KComponentData;
37class KIconLoaderPrivate;
38class KStandardDirs;
39class KIconEffect;
40class KIconTheme;
41
77class KDEUI_EXPORT KIconLoader : public QObject
78{
79 Q_OBJECT
80 Q_ENUMS(Context)
81 Q_ENUMS(Type)
82 Q_ENUMS(MatchType)
83 Q_ENUMS(Group)
84 Q_ENUMS(StdSizes)
85 Q_ENUMS(States)
86
87public:
91 enum Context {
92 Any,
93 Action,
94 Application,
95 Device,
96 FileSystem,
97 MimeType,
98 Animation,
99 Category,
100 Emblem,
101 Emote,
102 International,
103 Place,
104 StatusIcon
105 };
106
110 enum Type {
111 Fixed,
112 Scalable,
113 Threshold
114 };
115
119 enum MatchType {
120 MatchExact,
121 MatchBest
122 };
123
127 enum Group {
129 NoGroup=-1,
131 Desktop=0,
133 FirstGroup=0,
135 Toolbar,
137 MainToolbar,
139 Small,
141 Panel,
143 Dialog,
145 LastGroup,
147 User
148 };
149
153 enum StdSizes {
155 SizeSmall=16,
157 SizeSmallMedium=22,
159 SizeMedium=32,
161 SizeLarge=48,
163 SizeHuge=64,
165 SizeEnormous=128
166 };
167
171 enum States {
172 DefaultState,
173 ActiveState,
174 DisabledState,
175 LastState
176 };
177
190 explicit KIconLoader(const QString& appname=QString(), KStandardDirs *dirs = 0, QObject* parent = 0);
191
201 explicit KIconLoader(const KComponentData &componentData, QObject* parent = 0);
202
206 ~KIconLoader();
207
212 static KIconLoader* global();
213
218 void addAppDir(const QString& appname);
219
249 QPixmap loadIcon(const QString& name, KIconLoader::Group group, int size=0,
250 int state=KIconLoader::DefaultState, const QStringList &overlays = QStringList(),
251 QString *path_store=0L,
252 bool canReturnNull=false) const;
253
273 QPixmap loadMimeTypeIcon( const QString& iconName, KIconLoader::Group group, int size=0,
274 int state=KIconLoader::DefaultState, const QStringList &overlays = QStringList(),
275 QString *path_store=0 ) const;
276
294#ifndef KDE_NO_DEPRECATED
295 KDE_DEPRECATED QIcon loadIconSet(const QString& name, KIconLoader::Group group, int size = 0,
296 bool canReturnNull = false);
297#endif
298
313 QString iconPath(const QString& name, int group_or_size,
314 bool canReturnNull=false) const;
315
326 QMovie *loadMovie(const QString& name, KIconLoader::Group group, int size=0, QObject *parent=0) const;
327
337 QString moviePath(const QString& name, KIconLoader::Group group, int size=0) const;
338
349 QStringList loadAnimated(const QString& name, KIconLoader::Group group, int size=0) const;
350
361 QStringList queryIcons(int group_or_size, KIconLoader::Context context=KIconLoader::Any) const;
362
374 QStringList queryIconsByContext(int group_or_size,
375 KIconLoader::Context context=KIconLoader::Any) const;
376
380 bool hasContext( KIconLoader::Context context ) const;
381
388 QStringList queryIconsByDir( const QString& iconsDir ) const;
389
399 int currentSize(KIconLoader::Group group) const;
400
408 KIconTheme *theme() const;
409
414 KIconEffect *iconEffect() const;
415
422 void reconfigure( const QString& _appname, KStandardDirs *_dirs );
423
429 static QPixmap unknown();
430
438 bool alphaBlending( KIconLoader::Group group ) const;
439
444 void addExtraDesktopThemes();
445
450 bool extraDesktopThemesAdded() const;
451
459 void drawOverlays(const QStringList &overlays, QPixmap &pixmap, KIconLoader::Group group, int state = KIconLoader::DefaultState) const;
460
461 public Q_SLOTS:
465 void newIconLoader();
466
467Q_SIGNALS:
471 void iconLoaderSettingsChanged();
472
473 private:
474 // @internal the data object
475 KIconLoaderPrivate *d;
476};
477
482KDEUI_EXPORT QPixmap DesktopIcon(const QString& name, int size=0,
483 int state=KIconLoader::DefaultState, const QStringList& overlays = QStringList());
484
490#ifndef KDE_NO_DEPRECATED
491KDEUI_EXPORT_DEPRECATED QIcon DesktopIconSet(const QString& name, int size=0);
492#endif
493
498KDEUI_EXPORT QPixmap BarIcon(const QString& name, int size=0, int state=KIconLoader::DefaultState,
499 const QStringList& overlays = QStringList());
500
506#ifndef KDE_NO_DEPRECATED
507KDEUI_EXPORT_DEPRECATED QIcon BarIconSet(const QString& name, int size=0);
508#endif
509
514KDEUI_EXPORT QPixmap SmallIcon(const QString& name, int size=0,
515 int state=KIconLoader::DefaultState, const QStringList &overlays = QStringList());
516
522#ifndef KDE_NO_DEPRECATED
523KDEUI_EXPORT_DEPRECATED QIcon SmallIconSet(const QString& name, int size=0);
524#endif
525
530KDEUI_EXPORT QPixmap MainBarIcon(const QString& name, int size=0,
531 int state=KIconLoader::DefaultState, const QStringList &overlays = QStringList());
532
538#ifndef KDE_NO_DEPRECATED
539KDEUI_EXPORT_DEPRECATED QIcon MainBarIconSet(const QString& name, int size=0);
540#endif
541
546KDEUI_EXPORT QPixmap UserIcon(const QString& name, int state=KIconLoader::DefaultState, const QStringList &overlays = QStringList());
547
553#ifndef KDE_NO_DEPRECATED
554KDEUI_EXPORT_DEPRECATED QIcon UserIconSet(const QString& name);
555#endif
556
561KDEUI_EXPORT int IconSize(KIconLoader::Group group);
562
563inline KIconLoader::Group& operator++(KIconLoader::Group& group) { group = static_cast<KIconLoader::Group>(group+1); return group; }
564inline KIconLoader::Group operator++(KIconLoader::Group& group,int) { KIconLoader::Group ret = group; ++group; return ret; }
565
566#endif // KICONLOADER_H
KComponentData
KIconEffect
Applies effects to icons.
Definition: kiconeffect.h:48
KIconLoader
Iconloader for KDE.
Definition: kiconloader.h:78
KIconLoader::Group
Group
The group of the icon.
Definition: kiconloader.h:127
KIconLoader::Small
@ Small
Small icons, e.g. for buttons.
Definition: kiconloader.h:139
KIconLoader::Panel
@ Panel
Panel (Plasma Taskbar) icons.
Definition: kiconloader.h:141
KIconLoader::LastGroup
@ LastGroup
Last group.
Definition: kiconloader.h:145
KIconLoader::MainToolbar
@ MainToolbar
Main toolbar icons.
Definition: kiconloader.h:137
KIconLoader::Toolbar
@ Toolbar
Toolbar icons.
Definition: kiconloader.h:135
KIconLoader::Dialog
@ Dialog
Icons for use in dialog titles, page lists, etc.
Definition: kiconloader.h:143
KIconLoader::global
static KIconLoader * global()
Returns the global icon loader initialized with the global KComponentData.
KIconLoader::States
States
Defines the possible states of an icon.
Definition: kiconloader.h:171
KIconLoader::ActiveState
@ ActiveState
Icon is active.
Definition: kiconloader.h:173
KIconLoader::DisabledState
@ DisabledState
Icon is disabled.
Definition: kiconloader.h:174
KIconLoader::DefaultState
@ DefaultState
The default state.
Definition: kiconloader.h:172
KIconLoader::StdSizes
StdSizes
These are the standard sizes for icons.
Definition: kiconloader.h:153
KIconLoader::Context
Context
Defines the context of the icon.
Definition: kiconloader.h:91
KIconLoader::Category
@ Category
An icon that represents a category.
Definition: kiconloader.h:99
KIconLoader::Emblem
@ Emblem
An icon that adds information to an existing icon.
Definition: kiconloader.h:100
KIconLoader::Application
@ Application
An icon that represents an application.
Definition: kiconloader.h:94
KIconLoader::FileSystem
@ FileSystem
An icon that represents a file system.
Definition: kiconloader.h:96
KIconLoader::Emote
@ Emote
An icon that expresses an emotion.
Definition: kiconloader.h:101
KIconLoader::Any
@ Any
Some icon with unknown purpose.
Definition: kiconloader.h:92
KIconLoader::Place
@ Place
An icon that represents a location (e.g. 'home', 'trash').
Definition: kiconloader.h:103
KIconLoader::MimeType
@ MimeType
An icon that represents a mime type (or file type).
Definition: kiconloader.h:97
KIconLoader::Action
@ Action
An action icon (e.g. 'save', 'print').
Definition: kiconloader.h:93
KIconLoader::International
@ International
An icon that represents a country's flag.
Definition: kiconloader.h:102
KIconLoader::Animation
@ Animation
An icon that is animated.
Definition: kiconloader.h:98
KIconLoader::Device
@ Device
An icon that represents a device.
Definition: kiconloader.h:95
KIconLoader::Type
Type
The type of the icon.
Definition: kiconloader.h:110
KIconLoader::Fixed
@ Fixed
Fixed-size icon.
Definition: kiconloader.h:111
KIconLoader::Scalable
@ Scalable
Scalable-size icon.
Definition: kiconloader.h:112
KIconLoader::iconLoaderSettingsChanged
void iconLoaderSettingsChanged()
Emitted by newIconLoader once the new settings have been loaded.
KIconLoader::MatchType
MatchType
The type of a match.
Definition: kiconloader.h:119
KIconLoader::MatchExact
@ MatchExact
Only try to find an exact match.
Definition: kiconloader.h:120
KIconTheme
Definition: kicontheme.h:47
KStandardDirs
QObject
kdeui_export.h
kglobal.h
MainBarIconSet
QIcon MainBarIconSet(const QString &name, int force_size)
Definition: kiconloader.cpp:1576
BarIcon
QPixmap BarIcon(const QString &name, int force_size, int state, const QStringList &overlays)
Definition: kiconloader.cpp:1538
BarIconSet
QIcon BarIconSet(const QString &name, int force_size)
Definition: kiconloader.cpp:1546
SmallIcon
QPixmap SmallIcon(const QString &name, int force_size, int state, const QStringList &overlays)
Definition: kiconloader.cpp:1553
DesktopIconSet
QIcon DesktopIconSet(const QString &name, int force_size)
Definition: kiconloader.cpp:1531
SmallIconSet
QIcon SmallIconSet(const QString &name, int force_size)
Definition: kiconloader.cpp:1561
MainBarIcon
QPixmap MainBarIcon(const QString &name, int force_size, int state, const QStringList &overlays)
Definition: kiconloader.cpp:1568
IconSize
int IconSize(KIconLoader::Group group)
Definition: kiconloader.cpp:1598
UserIconSet
QIcon UserIconSet(const QString &name)
Definition: kiconloader.cpp:1591
DesktopIcon
QPixmap DesktopIcon(const QString &name, int force_size, int state, const QStringList &overlays)
Definition: kiconloader.cpp:1523
UserIcon
QPixmap UserIcon(const QString &name, int state, const QStringList &overlays)
Definition: kiconloader.cpp:1583
operator++
KIconLoader::Group & operator++(KIconLoader::Group &group)
Definition: kiconloader.h:563
group
group
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDEUI

Skip menu "KDEUI"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal