summaryrefslogtreecommitdiffstats
path: root/tdecore/kiconloader_p.h
blob: dacf40adea0e38a790ba11de1e1f7c109385a985 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
 *
 * 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 __TDEIconLoader_p_h_Included__
#define __TDEIconLoader_p_h_Included__

#include <tqobject.h>
#include <tqstringlist.h>
#include <kicontheme.h>
#include <kiconloader.h>
#include <kiconeffect.h>
#include <tqdict.h>

class TDEIconThemeNode
{
public:
    TDEIconThemeNode(TDEIconTheme *_theme);
    ~TDEIconThemeNode();

    void queryIcons(TQStringList *lst, int size, TDEIcon::Context context) const;
    void queryIconsByContext(TQStringList *lst, int size, TDEIcon::Context context) const;
    TDEIcon findIcon(const TQString& name, int size, TDEIcon::MatchType match) const;
    void printTree(TQString& dbgString) const;

    TDEIconTheme *theme;
};

class TDEIconLoaderPrivate : public TQObject
{
    TQ_OBJECT
public:
    TQStringList mThemesInTree;
    TDEIconGroup *mpGroups;
    TDEIconThemeNode *mpThemeRoot;
    TDEStandardDirs *mpDirs;
    TDEIconLoader *q;
    TDEIconEffect mpEffect;
    TQDict<TQImage> imgDict;
    TQImage lastImage; // last loaded image without effect applied
    TQString lastImageKey; // key for icon without effect
    TQString appname;
    int lastIconType; // see TDEIcon::type
    int lastIconThreshold; // see TDEIcon::threshold
    TQPtrList<TDEIconThemeNode> links;
    bool extraDesktopIconsLoaded;
    bool delayedLoading;

public slots:
    void reconfigure();
};

#endif // __TDEIconLoader_p_h_Included__