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 #include <kmimetype.h> 00017 00018 class KIO_EXPORT KFileMetaPreview : public KPreviewWidgetBase 00019 { 00020 Q_OBJECT 00021 00022 public: 00023 KFileMetaPreview(QWidget *parent); 00024 ~KFileMetaPreview(); 00025 00026 virtual void addPreviewProvider( const QString& mimeType, 00027 KPreviewWidgetBase *provider ); 00028 virtual void clearPreviewProviders(); 00029 00030 public Q_SLOTS: 00031 virtual void showPreview(const KUrl &url); 00032 virtual void clearPreview(); 00033 00034 protected: 00035 virtual KPreviewWidgetBase *previewProviderFor( const QString& mimeType ); 00036 00037 private: 00038 void initPreviewProviders(); 00039 KPreviewWidgetBase* findExistingProvider(const QString& mimeType, const KMimeType::Ptr& mimeInfo) const; 00040 00041 QStackedWidget *m_stack; 00042 QHash<QString,KPreviewWidgetBase*> m_previewProviders; 00043 bool haveAudioPreview; 00044 00045 // may return 0L 00046 static KPreviewWidgetBase * createAudioPreview( QWidget *parent ); 00047 static bool s_tryAudioPreview; 00048 00049 private: 00050 class KFileMetaPreviewPrivate; 00051 KFileMetaPreviewPrivate *d; 00052 }; 00053 00054 #endif // KFILEMETAPREVIEW_H
KDE 4.6 API Reference