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 SizeMedium=32,
00093 SizeLarge=48,
00095 SizeHuge=64
00096 };
00097
00101 enum States { DefaultState,
00102 ActiveState,
00103 DisabledState,
00104 LastState
00105 };
00106
00112 enum Overlays {
00113 LockOverlay=0x100,
00114 ZipOverlay=0x200,
00115 LinkOverlay=0x400,
00116 HiddenOverlay=0x800,
00117 ShareOverlay=0x1000,
00118 OverlayMask = ~0xff
00119 };
00120
00124 int size;
00125
00129 Context context;
00130
00134 Type type;
00135
00139 int threshold;
00140
00144 QString path;
00145
00146 private:
00147 KIconPrivate *d;
00148 };
00149
00150 inline KIcon::Group& operator++(KIcon::Group& group) { group = static_cast<KIcon::Group>(group+1); return group; }
00151 inline KIcon::Group operator++(KIcon::Group& group,int) { KIcon::Group ret = group; ++group; return ret; }
00152
00158 class KIconTheme
00159 {
00160 public:
00167 KIconTheme(const QString& name, const QString& appName=QString::null);
00168 ~KIconTheme();
00169
00174 QString name() const { return mName; }
00175
00181 QString description() const { return mDesc; }
00182
00188 QString example() const;
00189
00194 QString screenshot() const;
00195
00200 QString linkOverlay() const;
00201
00206 QString zipOverlay() const;
00207
00212 QString lockOverlay() const;
00213
00219 QString shareOverlay () const;
00220
00225 QString dir() const { return mDir; }
00226
00231 QStringList inherits() const { return mInherits; }
00232
00237 bool isValid() const;
00238
00244 bool isHidden() const;
00245
00251 int depth() const { return mDepth; }
00252
00258 int defaultSize(KIcon::Group group) const;
00259
00265 QValueList<int> querySizes(KIcon::Group group) const;
00266
00273 QStringList queryIcons(int size, KIcon::Context context = KIcon::Any) const;
00274
00281 QStringList queryIconsByContext(int size, KIcon::Context context = KIcon::Any) const;
00282
00283
00294 KIcon iconPath(const QString& name, int size, KIcon::MatchType match) const;
00295
00300 static QStringList list();
00301
00306 static QString current();
00307
00311 static void reconfigure();
00312
00318 static QString defaultThemeName();
00319
00320 private:
00321 int mDefSize[8];
00322 QValueList<int> mSizes[8];
00323
00324 int mDepth;
00325 QString mDir, mName, mDesc;
00326 QStringList mInherits;
00327 QPtrList<KIconThemeDir> mDirs;
00328 KIconThemePrivate *d;
00329
00330 static QString *_theme;
00331 static QStringList *_theme_list;
00332 };
00333
00334 #endif
This file is part of the documentation for kdecore Library Version 3.2.3.