kicontheme.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
#ifndef __KIconTheme_h_Included__
00016
#define __KIconTheme_h_Included__
00017
00018
#include <qstring.h>
00019
#include <qstringlist.h>
00020
#include <qptrlist.h>
00021
00022
class KConfig;
00023
class KIconThemeDir;
00024
00025
class KIconThemePrivate;
00026
00027
class KIconPrivate;
00028
00036 class KIcon
00037 {
00038
public:
00039
KIcon() {
size = 0; }
00040
00044 bool isValid()
const {
return size != 0; }
00045
00049 enum Context {
00050
Any,
00051
Action,
00052
Application,
00053
Device,
00054
FileSystem,
00055
MimeType
00056 };
00057
00061 enum Type {
00062
Fixed,
00063
Scalable,
00064
Threshold
00065 };
00066
00070 enum MatchType {
00071
MatchExact,
00072
MatchBest
00073
00074 };
00075
00076
00077
00081 enum Group { NoGroup=-1, Desktop=0, FirstGroup=0, Toolbar,
00082 MainToolbar, Small, Panel, LastGroup, User };
00083
00087 enum StdSizes {
00089
SizeSmall=16,
00091
SizeSmallMedium=22,
00093
SizeMedium=32,
00095
SizeLarge=48,
00097
SizeHuge=64,
00099
SizeEnormous=128
00100 };
00101
00105 enum States {
DefaultState,
00106
ActiveState,
00107
DisabledState,
00108
LastState
00109 };
00110
00116 enum Overlays {
00117
LockOverlay=0x100,
00118
ZipOverlay=0x200,
00119
LinkOverlay=0x400,
00120
HiddenOverlay=0x800,
00121
ShareOverlay=0x1000,
00122 OverlayMask = ~0xff
00123 };
00124
00128 int size;
00129
00133 Context context;
00134
00138 Type type;
00139
00143 int threshold;
00144
00148 QString path;
00149
00150
private:
00151 KIconPrivate *d;
00152 };
00153
00154
inline KIcon::Group& operator++(KIcon::Group& group) { group = static_cast<KIcon::Group>(group+1);
return group; }
00155
inline KIcon::Group operator++(KIcon::Group& group,
int) {
KIcon::Group ret = group; ++group;
return ret; }
00156
00162 class KIconTheme
00163 {
00164
public:
00171
KIconTheme(
const QString&
name,
const QString& appName=QString::null);
00172 ~
KIconTheme();
00173
00178 QString name()
const {
return mName; }
00179
00185 QString description()
const {
return mDesc; }
00186
00192
QString example() const;
00193
00198
QString screenshot() const;
00199
00204
QString linkOverlay() const;
00205
00210
QString zipOverlay() const;
00211
00216
QString lockOverlay() const;
00217
00223
QString shareOverlay () const;
00224
00229 QString dir()
const {
return mDir; }
00230
00235 QStringList inherits()
const {
return mInherits; }
00236
00241
bool isValid() const;
00242
00248
bool isHidden() const;
00249
00255 int depth()
const {
return mDepth; }
00256
00262
int defaultSize(KIcon::Group group)
const;
00263
00269
QValueList<int> querySizes(KIcon::Group group)
const;
00270
00277
QStringList queryIcons(
int size, KIcon::Context context = KIcon::Any)
const;
00278
00285
QStringList queryIconsByContext(
int size, KIcon::Context context = KIcon::Any)
const;
00286
00287
00298
KIcon iconPath(
const QString& name,
int size, KIcon::MatchType match)
const;
00299
00304
static QStringList list();
00305
00310
static QString current();
00311
00315
static void reconfigure();
00316
00322
static QString defaultThemeName();
00323
00324
private:
00325
int mDefSize[8];
00326
QValueList<int> mSizes[8];
00327
00328
int mDepth;
00329
QString mDir, mName, mDesc;
00330
QStringList mInherits;
00331
QPtrList<KIconThemeDir> mDirs;
00332 KIconThemePrivate *d;
00333
00334
static QString *_theme;
00335
static QStringList *_theme_list;
00336 };
00337
00338
#endif
This file is part of the documentation for kdecore Library Version 3.3.1.