17#include "quicklistproxymodel.h"
21QuickListProxyModel::QuickListProxyModel(QObject *parent):
22 QSortFilterProxyModel(parent)
24 connect(
this, &QAbstractListModel::rowsInserted,
this, &QuickListProxyModel::countChanged);
25 connect(
this, &QAbstractListModel::rowsRemoved,
this, &QuickListProxyModel::countChanged);
26 connect(
this, &QAbstractListModel::layoutChanged,
this, &QuickListProxyModel::countChanged);
29QAbstractItemModel *QuickListProxyModel::source()
const
34bool QuickListProxyModel::privateMode()
const
39void QuickListProxyModel::setPrivateMode(
bool privateMode)
41 if (m_privateMode != privateMode) {
42 m_privateMode = privateMode;
44 Q_EMIT privateModeChanged();
48void QuickListProxyModel::setSource(QAbstractItemModel *source)
50 if (m_source != source) {
52 setSourceModel(m_source);
53 connect(m_source, &QAbstractItemModel::rowsRemoved,
this, &QuickListProxyModel::invalidate);
54 connect(m_source, &QAbstractItemModel::rowsInserted,
this, &QuickListProxyModel::invalidate);
55 Q_EMIT sourceChanged();
59int QuickListProxyModel::count()
const
64bool QuickListProxyModel::filterAcceptsRow(
int source_row,
const QModelIndex &source_parent)
const
66 Q_UNUSED(source_parent)
69 return !m_source->data(m_source->index(source_row, 0), QuickListModelInterface::RoleIsPrivate).toBool();