diff options
author | Petr Mrázek <peterix@gmail.com> | 2013-09-16 00:54:39 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2013-09-16 00:54:39 +0200 |
commit | d38b90530b3ba3a49c4eb072eb344ae2b0836913 (patch) | |
tree | 5dd07e59ae1bc8392a773ec8fec6b6a3aa7e4840 /logic/EnabledItemFilter.cpp | |
parent | 7721c57e5e1093a3d8597b6b6f30c97d2aa3d8a5 (diff) | |
download | MultiMC-d38b90530b3ba3a49c4eb072eb344ae2b0836913.tar MultiMC-d38b90530b3ba3a49c4eb072eb344ae2b0836913.tar.gz MultiMC-d38b90530b3ba3a49c4eb072eb344ae2b0836913.tar.lz MultiMC-d38b90530b3ba3a49c4eb072eb344ae2b0836913.tar.xz MultiMC-d38b90530b3ba3a49c4eb072eb344ae2b0836913.zip |
Forge version list implementation. Needs integration and testing.
Diffstat (limited to 'logic/EnabledItemFilter.cpp')
-rw-r--r-- | logic/EnabledItemFilter.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/logic/EnabledItemFilter.cpp b/logic/EnabledItemFilter.cpp new file mode 100644 index 00000000..6ecd0271 --- /dev/null +++ b/logic/EnabledItemFilter.cpp @@ -0,0 +1,30 @@ +#include "EnabledItemFilter.h" + +EnabledItemFilter::EnabledItemFilter(QObject* parent) + :QSortFilterProxyModel(parent) +{ + +} + +void EnabledItemFilter::setActive(bool active) +{ + m_active = active; + invalidateFilter(); +} + +bool EnabledItemFilter::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const +{ + if(!m_active) + return true; + QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent); + if(sourceModel()->flags(index) & Qt::ItemIsEnabled) + { + return true; + } + return false; +} + +bool EnabledItemFilter::lessThan(const QModelIndex& left, const QModelIndex& right) const +{ + return QSortFilterProxyModel::lessThan(left, right); +} |