/* * This file is part of the KDE project. * Copyright (C) 2003 Carsten Pfeiffer * * You can Freely distribute this program under the GNU Library General Public * License. See the file "COPYING" for the exact licensing terms. */ #ifndef KFILEMETAPREVIEW_H #define KFILEMETAPREVIEW_H #include #include #include #include #include class KIO_EXPORT KFileMetaPreview : public KPreviewWidgetBase { Q_OBJECT public: KFileMetaPreview(QWidget *parent); ~KFileMetaPreview(); virtual void addPreviewProvider( const QString& mimeType, KPreviewWidgetBase *provider ); virtual void clearPreviewProviders(); public Q_SLOTS: virtual void showPreview(const KUrl &url); virtual void clearPreview(); protected: virtual KPreviewWidgetBase *previewProviderFor( const QString& mimeType ); private: void initPreviewProviders(); KPreviewWidgetBase* findExistingProvider(const QString& mimeType, const KMimeType::Ptr& mimeInfo) const; QStackedWidget *m_stack; QHash m_previewProviders; bool haveAudioPreview; // may return 0L static KPreviewWidgetBase * createAudioPreview( QWidget *parent ); static bool s_tryAudioPreview; private: class KFileMetaPreviewPrivate; KFileMetaPreviewPrivate *d; }; #endif // KFILEMETAPREVIEW_H