00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __KONQ_INFOLISTVIEWWIDGET_H__
00020 #define __KONQ_INFOLISTVIEWWIDGET_H__
00021
00022 #include "konq_listviewwidget.h"
00023
00024 #include <kurl.h>
00025 #include <tqmap.h>
00026 #include <tqpair.h>
00027
00028 namespace KIO {class MetaInfoJob;}
00029 class KonqListView;
00030 class KSelectAction;
00031
00035 class KonqInfoListViewWidget : public KonqBaseListViewWidget
00036 {
00037
00038 Q_OBJECT
00039 public:
00040 KonqInfoListViewWidget( KonqListView *parent, TQWidget *parentWidget );
00041 ~KonqInfoListViewWidget();
00042
00043 const TQStringList columnKeys() {return m_columnKeys;}
00044
00045 virtual bool openURL( const KURL &url );
00046
00047 protected slots:
00048
00049
00050 virtual void slotNewItems( const KFileItemList & );
00051 virtual void slotRefreshItems( const KFileItemList & );
00052 virtual void slotDeleteItem( KFileItem * );
00053 virtual void slotClear();
00054 virtual void slotSelectMimeType();
00055
00056 void slotMetaInfo(const KFileItem*);
00057 void slotMetaInfoResult();
00058
00059 protected:
00060 void determineCounts(const KFileItemList& list);
00061 void rebuildView();
00062
00063 virtual void createColumns();
00064 void createFavoriteColumns();
00065
00069 struct KonqILVMimeType
00070 {
00071 KonqILVMimeType() : mimetype(0), count(0), hasPlugin(false) {};
00072
00073 KMimeType::Ptr mimetype;
00074 int count;
00075 bool hasPlugin;
00076 };
00077
00078
00079 TQMap<TQString, KonqILVMimeType > m_counts;
00080 TQStringList m_columnKeys;
00081
00082 KonqILVMimeType m_favorite;
00083
00084 KSelectAction* m_mtSelector;
00085 KIO::MetaInfoJob* m_metaInfoJob;
00086 KFileItemList m_metaInfoTodo;
00087 };
00088
00089 #endif