00001 #ifndef GALLERYFILTER_H
00002 #define GALLERYFILTER_H
00003
00004
00005 #include <QDir>
00006
00007 #include <mythscreentype.h>
00008
00009 enum SortOrder {
00010 kSortOrderUnsorted = QDir::Unsorted,
00011 kSortOrderNameAsc = QDir::Name + QDir::DirsFirst + QDir::IgnoreCase,
00012 kSortOrderNameDesc = QDir::Name + QDir::DirsFirst + QDir::IgnoreCase +
00013 QDir::Reversed,
00014 kSortOrderModTimeAsc = QDir::Time + QDir::DirsFirst + QDir::IgnoreCase,
00015 kSortOrderModTimeDesc = QDir::Time + QDir::DirsFirst + QDir::IgnoreCase +
00016 QDir::Reversed,
00017 kSortOrderExtAsc = QDir::Size + QDir::DirsFirst + QDir::IgnoreCase,
00018 kSortOrderExtDesc = QDir::Size + QDir::DirsFirst + QDir::IgnoreCase +
00019 QDir::Reversed,
00020 kSortOrderSizeAsc = QDir::Type + QDir::DirsFirst + QDir::IgnoreCase,
00021 kSortOrderSizeDesc = QDir::Type + QDir::DirsFirst + QDir::IgnoreCase +
00022 QDir::Reversed
00023 };
00024 Q_DECLARE_METATYPE(SortOrder)
00025
00026 enum TypeFilter {
00027 kTypeFilterAll = 0,
00028 kTypeFilterImagesOnly = 1,
00029 kTypeFilterMoviesOnly = 2
00030 };
00031 Q_DECLARE_METATYPE(TypeFilter)
00032
00033 class GalleryFilter
00034 {
00035 public:
00036 static bool TestFilter(const QString& dir, const GalleryFilter& flt,
00037 int *dirCount, int *imageCount, int *movieCount);
00038
00039 GalleryFilter(bool loaddefaultsettings = true);
00040 GalleryFilter(const GalleryFilter &gfs);
00041 GalleryFilter &operator=(const GalleryFilter &gfs);
00042
00043 void saveAsDefault();
00044
00045 QString getDirFilter() const { return m_dirFilter; }
00046 void setDirFilter(QString dirFilter)
00047 {
00048 m_changed_state = 1;
00049 m_dirFilter = dirFilter;
00050 }
00051
00052 int getTypeFilter() const { return m_typeFilter; }
00053 void setTypeFilter(int typeFilter)
00054 {
00055 m_changed_state = 1;
00056 m_typeFilter = typeFilter;
00057 }
00058
00059 int getSort() const { return m_sort; }
00060 void setSort(int sort)
00061 {
00062 m_changed_state = 1;
00063 m_sort = sort;
00064 }
00065
00066 unsigned int getChangedState()
00067 {
00068 unsigned int ret = m_changed_state;
00069 m_changed_state = 0;
00070 return ret;
00071 }
00072 void dumpFilter(QString src);
00073
00074 private:
00075 QString m_dirFilter;
00076 int m_typeFilter;
00077 int m_sort;
00078
00079 unsigned int m_changed_state;
00080 };
00081
00082 #endif
00083
00084
00085
00086