Forge version list implementation. Needs integration and testing.
This commit is contained in:
30
logic/EnabledItemFilter.cpp
Normal file
30
logic/EnabledItemFilter.cpp
Normal file
@ -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);
|
||||
}
|
Reference in New Issue
Block a user