equal
deleted
inserted
replaced
26 |
26 |
27 ThemeFilterProxyModel::ThemeFilterProxyModel(QObject *parent) |
27 ThemeFilterProxyModel::ThemeFilterProxyModel(QObject *parent) |
28 : QSortFilterProxyModel(parent) |
28 : QSortFilterProxyModel(parent) |
29 { |
29 { |
30 isFilteringDLC = false; |
30 isFilteringDLC = false; |
|
31 isFilteringHidden = false; |
31 } |
32 } |
32 |
33 |
33 bool ThemeFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex & sourceParent) const |
34 bool ThemeFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex & sourceParent) const |
34 { |
35 { |
35 if(isFilteringDLC) |
36 if(isFilteringDLC || isFilteringHidden) |
36 { |
37 { |
37 QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent); |
38 QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent); |
38 bool isDLC = index.data(ThemeModel::IsDlcRole).toBool(); |
39 bool isDLC = index.data(ThemeModel::IsDlcRole).toBool(); |
39 return !isDLC; |
40 bool isHidden = index.data(ThemeModel::IsHiddenRole).toBool(); |
|
41 return ( |
|
42 ((isFilteringDLC && !isDLC) || !isFilteringDLC) && |
|
43 ((isFilteringHidden && !isHidden) || !isFilteringHidden)); |
|
44 |
40 } |
45 } |
41 else |
46 else |
42 { |
47 { |
43 return true; |
48 return true; |
44 } |
49 } |
47 void ThemeFilterProxyModel::setFilterDLC(bool enable) |
52 void ThemeFilterProxyModel::setFilterDLC(bool enable) |
48 { |
53 { |
49 isFilteringDLC = enable; |
54 isFilteringDLC = enable; |
50 invalidateFilter(); |
55 invalidateFilter(); |
51 } |
56 } |
|
57 |
|
58 void ThemeFilterProxyModel::setFilterHidden(bool enable) |
|
59 { |
|
60 isFilteringHidden = enable; |
|
61 invalidateFilter(); |
|
62 } |