diff options
Diffstat (limited to 'archiveproxy.h')
-rw-r--r-- | archiveproxy.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/archiveproxy.h b/archiveproxy.h new file mode 100644 index 0000000..94e8d19 --- /dev/null +++ b/archiveproxy.h @@ -0,0 +1,37 @@ +/* + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version + 2 of the License, or (at your option) any later version. +*/ + +#ifndef ARCHIVEPROXY_H +#define ARCHIVEPROXY_H + +#include <QSortFilterProxyModel> + +class QString; +class QModelIndex; + +class ArchiveProxy : public QSortFilterProxyModel { + Q_OBJECT + Q_ENUMS(FilterMode) + public: + enum FilterMode { NoFilter, GenreFilter, ActorFilter, TitleFilter }; + ArchiveProxy(QObject *parent = 0); + ~ArchiveProxy() {}; + void setFilter(const QString &filter, FilterMode mode); + virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; + + public slots: + void clearFilter(); + + private: + FilterMode mFilterMode; + QString mGenreFilter; + QString mActorFilter; + QString mTitleFilter; +}; + +#endif + |