KIO
kfilemetapreview.h
Go to the documentation of this file.00001 /* 00002 * This file is part of the KDE project. 00003 * Copyright (C) 2003 Carsten Pfeiffer <pfeiffer@kde.org> 00004 * 00005 * You can Freely distribute this program under the GNU Library General Public 00006 * License. See the file "COPYING" for the exact licensing terms. 00007 */ 00008 00009 #ifndef KFILEMETAPREVIEW_H 00010 #define KFILEMETAPREVIEW_H 00011 00012 #include <QHash> 00013 #include <QStackedWidget> 00014 #include <kpreviewwidgetbase.h> 00015 #include <kurl.h> 00016 00017 class KIO_EXPORT KFileMetaPreview : public KPreviewWidgetBase 00018 { 00019 Q_OBJECT 00020 00021 public: 00022 KFileMetaPreview(QWidget *parent); 00023 ~KFileMetaPreview(); 00024 00025 virtual void addPreviewProvider( const QString& mimeType, 00026 KPreviewWidgetBase *provider ); 00027 virtual void clearPreviewProviders(); 00028 00029 public Q_SLOTS: 00030 virtual void showPreview(const KUrl &url); 00031 virtual void clearPreview(); 00032 00033 protected: 00034 virtual KPreviewWidgetBase *previewProviderFor( const QString& mimeType ); 00035 00036 private: 00037 void initPreviewProviders(); 00038 00039 QStackedWidget *m_stack; 00040 QHash<QString,KPreviewWidgetBase*> m_previewProviders; 00041 bool haveAudioPreview; 00042 00043 // may return 0L 00044 static KPreviewWidgetBase * createAudioPreview( QWidget *parent ); 00045 static bool s_tryAudioPreview; 00046 00047 private: 00048 class KFileMetaPreviewPrivate; 00049 KFileMetaPreviewPrivate *d; 00050 }; 00051 00052 #endif // KFILEMETAPREVIEW_H