//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.


class KIconLoader : QObject
{
%TypeHeaderCode
#include <kiconloader.h>
%End


public:

    enum Context
    {
        Any,
        Action,
        Application,
        Device,
        FileSystem,
        MimeType,
        Animation,
        Category,
        Emblem,
        Emote,
        International,
        Place,
        StatusIcon
    };


    enum Type
    {
        Fixed,
        Scalable,
        Threshold
    };


    enum MatchType
    {
        MatchExact,
        MatchBest
    };


    enum Group
    {
        NoGroup,
        Desktop,
        FirstGroup,
        Toolbar,
        MainToolbar,
        Small,
        Panel,
        Dialog,
        LastGroup,
        User
    };


    enum StdSizes
    {
        SizeSmall,
        SizeSmallMedium,
        SizeMedium,
        SizeLarge,
        SizeHuge,
        SizeEnormous
    };


    enum States
    {
        DefaultState,
        ActiveState,
        DisabledState,
        LastState
    };

    explicit                KIconLoader (const QString& appname = QString(), KStandardDirs* dirs = 0, QObject* parent /TransferThis/ = 0);
    explicit                KIconLoader (const KComponentData& componentData, QObject* parent /TransferThis/ = 0);
    static KIconLoader*     global () /PyName=global_/;
    void                    addAppDir (const QString& appname);
    QPixmap                 loadIcon (const QString& name, KIconLoader::Group group, int size = 0, int state = KIconLoader::DefaultState, const QStringList& overlays = QStringList(), QString* path_store = 0, bool canReturnNull = 0) const;
    QPixmap                 loadMimeTypeIcon (const QString& iconName, KIconLoader::Group group, int size = 0, int state = KIconLoader::DefaultState, const QStringList& overlays = QStringList(), QString* path_store = 0) const;
//ig     QIcon              loadIconSet (const QString& name, KIconLoader::Group group, int size = 0, bool canReturnNull = 0);
    QString                 iconPath (const QString& name, int group_or_size, bool canReturnNull = 0) const;
//ig     QMovie*            loadMovie (const QString& name, KIconLoader::Group group, int size = 0, QObject* parent /Transfer/ = 0) const;
//ig     QString            moviePath (const QString& name, KIconLoader::Group group, int size = 0) const;
//ig     QStringList        loadAnimated (const QString& name, KIconLoader::Group group, int size = 0) const;
//ig     QStringList        queryIcons (int group_or_size, KIconLoader::Context context = KIconLoader::Any) const;
//ig     QStringList        queryIconsByContext (int group_or_size, KIconLoader::Context context = KIconLoader::Any) const;
//ig     bool               hasContext (KIconLoader::Context context) const;
    QStringList             queryIconsByDir (const QString& iconsDir) const;
//ig     int                currentSize (KIconLoader::Group group) const;
    KIconTheme*             theme () const;
    KIconEffect*            iconEffect () const;
    void                    reconfigure (const QString& _appname, KStandardDirs* _dirs);
    static QPixmap          unknown ();
//ig     bool               alphaBlending (KIconLoader::Group group) const;
    void                    addExtraDesktopThemes ();
    bool                    extraDesktopThemesAdded () const;
    void                    newIconLoader ();

signals:
    void                    iconLoaderSettingsChanged ();
};   // KIconLoader

QPixmap                 DesktopIcon (const QString& name, int size = 0, int state = KIconLoader::DefaultState, const QStringList& overlays = QStringList());
QIcon                   DesktopIconSet (const QString& name, int size = 0);
QPixmap                 BarIcon (const QString& name, int size = 0, int state = KIconLoader::DefaultState, const QStringList& overlays = QStringList());
QIcon                   BarIconSet (const QString& name, int size = 0);
QPixmap                 SmallIcon (const QString& name, int size = 0, int state = KIconLoader::DefaultState, const QStringList& overlays = QStringList());
QIcon                   SmallIconSet (const QString& name, int size = 0);
QPixmap                 MainBarIcon (const QString& name, int size = 0, int state = KIconLoader::DefaultState, const QStringList& overlays = QStringList());
QIcon                   MainBarIconSet (const QString& name, int size = 0);
QPixmap                 UserIcon (const QString& name, int state = KIconLoader::DefaultState, const QStringList& overlays = QStringList());
QIcon                   UserIconSet (const QString& name);
//ig int                IconSize (KIconLoader::Group group);
%ModuleHeaderCode
#include <kiconloader.h>
%End


