tdefilemetapreview.h
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 TDEFILEMETAPREVIEW_H 00010 #define TDEFILEMETAPREVIEW_H 00011 00012 #include <tqdict.h> 00013 #include <tqwidgetstack.h> 00014 00015 #include <kpreviewwidgetbase.h> 00016 #include <kurl.h> 00017 00018 class TDEIO_EXPORT KFileMetaPreview : public KPreviewWidgetBase 00019 { 00020 Q_OBJECT 00021 00022 public: 00023 KFileMetaPreview(TQWidget *parent, const char *name = 0); 00024 ~KFileMetaPreview(); 00025 00026 virtual void addPreviewProvider( const TQString& mimeType, 00027 KPreviewWidgetBase *provider ); 00028 virtual void clearPreviewProviders(); 00029 00030 public slots: 00031 virtual void showPreview(const KURL &url); 00032 virtual void clearPreview(); 00033 00034 protected: 00035 virtual KPreviewWidgetBase *previewProviderFor( const TQString& mimeType ); 00036 00037 protected: 00038 virtual void virtual_hook( int id, void* data ); 00039 00040 private: 00041 void initPreviewProviders(); 00042 00043 TQWidgetStack *m_stack; 00044 TQDict<KPreviewWidgetBase> m_previewProviders; 00045 bool haveAudioPreview; 00046 00047 // may return 0L 00048 static KPreviewWidgetBase * createAudioPreview( TQWidget *parent ); 00049 static bool s_tryAudioPreview; 00050 00051 private: 00052 class KFileMetaPreviewPrivate; 00053 KFileMetaPreviewPrivate *d; 00054 }; 00055 00056 #endif // TDEFILEMETAPREVIEW_H