Files
qad/project_fs/filterdialog.h

38 lines
972 B
C++

#ifndef FILTERDIALOG_H
#define FILTERDIALOG_H
#include "ui_filterdialog.h"
class FilterDialog: public QDialog, private Ui::FilterDialog
{
Q_OBJECT
public:
explicit FilterDialog(QWidget *parent = 0);
struct Filter {
Filter() {}
Filter(const QVariant & v);
QVariant toVariant() const;
bool filterFile(const QString & path) const {return filterLogic(files_show, files_hide, path);}
bool filterDir(const QString & path) const {return filterLogic(dirs_show, dirs_hide, path);}
QStringList files_show;
QStringList files_hide;
QStringList dirs_show;
QStringList dirs_hide;
private:
bool filterLogic(const QStringList & fshow, const QStringList & fhide, const QString & path) const;
};
Filter filter() const;
void setFilter(const Filter & f);
protected:
void changeEvent(QEvent *e);
QStringList getFilters(QLineEdit * le) const;
void setFilters(QLineEdit * le, QStringList f);
};
#endif // FILTERDIALOG_H