on xenial help sign in
Add content_type property to category models.

Approved by PS Jenkins bot, Michał Sawicz.

commit32db1ea2cde3839bc3d65be3f7705cf0c8858c87 authorMichal Hruby <michal.mhr@gmail.com> dateTue 25 Jun 2013, 21:11 (13 years ago) parent01d32bfb28d913
2 files changed+27−17
plugins/Unity/categories.cpp+26−17 plugins/Unity/categories.h+1
plugins/Unity/categories.cpp+26−17
@@ -30,6 +30,7 @@ Categories::Categories(QObject* parent)
3030 m_roles[Categories::RoleName] = "name";
3131 m_roles[Categories::RoleIcon] = "icon";
3232 m_roles[Categories::RoleRenderer] = "renderer";
33+ m_roles[Categories::RoleContentType] = "content_type";
3334 m_roles[Categories::RoleHints] = "hints";
3435 m_roles[Categories::RoleResults] = "results";
3536 m_roles[Categories::RoleCount] = "count";
@@ -111,22 +112,30 @@ Categories::data(const QModelIndex& index, int role) const
111112 return QVariant();
112113 }
113114
114− if (role == RoleId) {
115− return QVariant::fromValue(index.row());
116− } else if (role == RoleName) {
117− return QVariant::fromValue(DeeListModel::data(index, 1)); //DISPLAY_NAME
118− } else if (role == RoleIcon) {
119− return QVariant::fromValue(DeeListModel::data(index, 2)); //ICON_HINT
120− } else if (role == RoleRenderer) {
121− return QVariant::fromValue(DeeListModel::data(index, 3)); //RENDERER_NAME
122− } else if (role == RoleHints) {
123− return QVariant::fromValue(DeeListModel::data(index, 4)); //HINTS
124− } else if (role == RoleResults) {
125− return QVariant::fromValue(getFilter(index.row()));
126− } else if (role == RoleCount) {
127− CategoryFilter* filter = getFilter(index.row());
128− return QVariant::fromValue(filter->rowCount());
129− } else {
130− return QVariant();
115+ switch (role) {
116+ case RoleId:
117+ return QVariant::fromValue(index.row());
118+ case RoleName:
119+ return QVariant::fromValue(DeeListModel::data(index, 1)); //DISPLAY_NAME
120+ case RoleIcon:
121+ return QVariant::fromValue(DeeListModel::data(index, 2)); //ICON_HINT
122+ case RoleRenderer:
123+ return QVariant::fromValue(DeeListModel::data(index, 3)); //RENDERER_NAME
124+ case RoleContentType:
125+ {
126+ auto hints = QVariant::fromValue(DeeListModel::data(index, 4)).toHash();
127+ return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
128+ }
129+ case RoleHints:
130+ return QVariant::fromValue(DeeListModel::data(index, 4)); //HINTS
131+ case RoleResults:
132+ return QVariant::fromValue(getFilter(index.row()));
133+ case RoleCount:
134+ {
135+ CategoryFilter* filter = getFilter(index.row());
136+ return QVariant::fromValue(filter->rowCount());
137+ }
138+ default:
139+ return QVariant();
131140 }
132141}
plugins/Unity/categories.h+1
@@ -46,6 +46,7 @@ public:
4646 RoleName,
4747 RoleIcon,
4848 RoleRenderer,
49+ RoleContentType,
4950 RoleHints,
5051 RoleResults,
5152 RoleCount