kfilefilter.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KFILEFILTER_H
00022 #define KFILEFILTER_H
00023
00024 #include <qptrlist.h>
00025 #include <qstringlist.h>
00026
00027 #include <sys/types.h>
00028 #include <sys/stat.h>
00029 #include <unistd.h>
00030
00031 class QRegExp;
00032 class KFileItem;
00033
00039 class KFileFilter
00040 {
00041 public:
00047 virtual bool passesFilter( const KFileItem *item ) const = 0;
00048 protected:
00049 virtual void virtual_hook( int id, void* data );
00050 };
00051
00057 class KSimpleFileFilter : public KFileFilter
00058 {
00059 public:
00064 KSimpleFileFilter();
00065 virtual ~KSimpleFileFilter();
00066
00074 virtual void setFilterDotFiles( bool filter );
00081 bool filterDotFiles() const { return m_filterDotFiles; }
00082
00087 virtual void setFilterSpecials( bool filter );
00092 bool filterSpecials() const { return m_filterSpecials; }
00093
00094
00106 void setNameFilters( const QString& nameFilters, bool caseSensitive,
00107 const QChar& separator = ' ' );
00115 virtual void setNameFilters( const QString& nameFilters );
00116
00123 virtual void setMimeFilters( const QStringList& mimeFilters );
00129 QStringList mimeFilters() const { return m_mimeFilters; }
00130
00139 virtual void setModeFilter( mode_t mode );
00145 mode_t modeFilter() const { return m_modeFilter; }
00146
00152 virtual bool passesFilter( const KFileItem *item ) const;
00153
00154 protected:
00155 QPtrList<QRegExp> m_nameFilters;
00156
00157 private:
00158 QStringList m_mimeFilters;
00159 bool m_filterDotFiles :1;
00160 bool m_filterSpecials :1;
00161 mode_t m_modeFilter;
00162 protected:
00163 virtual void virtual_hook( int id, void* data );
00164 private:
00165 class KSimpleFileFilterPrivate* d;
00166 };
00167
00168 #endif // KFILEFILTER_H
This file is part of the documentation for kio Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Apr 21 18:43:45 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003