17#include <QSortFilterProxyModel>
19#include <lomiri/shell/launcher/QuickListModelInterface.h>
21using namespace lomiri::shell::launcher;
23class QuickListProxyModel:
public QSortFilterProxyModel
26 Q_PROPERTY(QAbstractItemModel* source READ source WRITE setSource NOTIFY sourceChanged)
27 Q_PROPERTY(
bool privateMode READ privateMode WRITE setPrivateMode NOTIFY privateModeChanged)
28 Q_PROPERTY(
int count READ count NOTIFY countChanged)
31 QuickListProxyModel(QObject* parent =
nullptr);
33 QAbstractItemModel* source()
const;
34 void setSource(QAbstractItemModel* source);
36 bool privateMode()
const;
37 void setPrivateMode(
bool privateMode);
42 bool filterAcceptsRow(
int source_row,
const QModelIndex &source_parent)
const override;
46 void privateModeChanged();
50 QAbstractItemModel* m_source =
nullptr;
51 bool m_privateMode =
false;