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.0.