@@ -33,6 +33,15 @@
33Filters::Filters(unity::dash::Filters::Ptr unityFilters, QObject *parent) :
33Filters::Filters(unity::dash::Filters::Ptr unityFilters, QObject *parent) :
34 QAbstractListModel(parent), m_unityFilters(unityFilters)
34 QAbstractListModel(parent), m_unityFilters(unityFilters)
37+ m_roles[Filters::RoleId] = "id";
38+ m_roles[Filters::RoleName] = "name";
39+ m_roles[Filters::RoleIconHint] = "iconHint";
40+ m_roles[Filters::RoleRendererName] = "rendererName";
41+ m_roles[Filters::RoleVisible] = "visible";
42+ m_roles[Filters::RoleCollapsed] = "collapsed";
43+ m_roles[Filters::RoleFiltering] = "filtering";
36 for (unsigned int i=0; i<m_unityFilters->count(); i++) {
45 for (unsigned int i=0; i<m_unityFilters->count(); i++) {
37 unity::dash::Filter::Ptr unityFilter = m_unityFilters->FilterAtIndex(i);
46 unity::dash::Filter::Ptr unityFilter = m_unityFilters->FilterAtIndex(i);
38 addFilter(unityFilter, i);
47 addFilter(unityFilter, i);
@@ -58,25 +67,35 @@ int Filters::rowCount(const QModelIndex& parent) const
59QVariant Filters::data(const QModelIndex& index, int role) const
68QVariant Filters::data(const QModelIndex& index, int role) const
63 if (!index.isValid()) {
70 if (!index.isValid()) {
64 return QVariant();
71 return QVariant();
67− if (role == Filters::RoleFilter) {
68− Filter* filter = m_filters.at(index.row());
74+ Filter* filter = m_filters.at(index.row());
69− return QVariant::fromValue(filter);
75+ switch (role)
77+ case Filters::RoleId:
79+ case Filters::RoleName:
80+ return filter->name();
81+ case Filters::RoleIconHint:
82+ return filter->iconHint();
83+ case Filters::RoleRendererName:
84+ return filter->rendererName();
85+ case Filters::RoleVisible:
86+ return filter->visible();
87+ case Filters::RoleCollapsed:
88+ return filter->collapsed();
89+ case Filters::RoleFiltering:
90+ return filter->filtering();
71− return QVariant();
92+ return QVariant();
75QHash<int, QByteArray> Filters::roleNames() const
96QHash<int, QByteArray> Filters::roleNames() const
77− QHash<int, QByteArray> roles;
78− roles[Filters::RoleFilter] = "filter";
79− return roles;
98+ return m_roles;
82Filter* Filters::getFilter(const QString& id) const
101Filter* Filters::getFilter(const QString& id) const