/* vi: ts=8 sts=4 sw=4 * kate: space-indent on; indent-width 4; mixedindent off; indent-mode cstyle; * * This file is part of the KDE project, module kfile. * Copyright (C) 2006 Luke Sandell * (C) 2002 Carsten Pfeiffer * (C) 2000 Geert Jansen * (C) 2000 Kurt Granroth * (C) 1997 Christoph Neerfeld * * 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 _KICONCANVAS_H_ #define _KICONCANVAS_H_ #include #include #include class TQTimer; class KIconLoader; class TQDragObject; class TQIconLoader; /** * Icon canvas for KIconDialog. */ class KIO_EXPORT KIconCanvas: public KIconView /* NOTE: Why export this? */ { Q_OBJECT TQ_OBJECT public: KIconCanvas(TQWidget *tqparent=0L, const char *name=0L); ~KIconCanvas(); /** * Load icons into the canvas. */ void loadFiles(const TQStringList& files); /** * Returns the current icon. */ TQString getCurrent() const; void setIconLoader(KIconLoader *loader); void setGroupOrSize(int groupOrSize); void setStrictIconSize(bool strictIconSize); public slots: void stopLoading(); signals: /** * Emitted when the current icon has changed. */ void nameChanged(TQString); /* KDE 4: Make it const TQString */ void startLoading(int); void progress(int); void finished(); private slots: void slotLoadFiles(); void slotCurrentChanged(TQIconViewItem *item); private: TQStringList mFiles; TQTimer *mpTimer; KIconLoader *mpLoader; protected: virtual void virtual_hook( int id, void* data ); virtual TQDragObject *dragObject(); void loadIcon(const TQString &path); private: class KIconCanvasPrivate; KIconCanvasPrivate *d; }; #endif