on 0a01fee help sign in
unity8/plugins/Unity/categoryresults.cpp
81 lines 2.2 kB history raw
1/*
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
4 * Authors:
5 * Michał Sawicz <michal.sawicz@canonical.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 3.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
20// self
21#include "categoryresults.h"
23CategoryResults::CategoryResults(QObject* parent)
24 : DeeListModel(parent)
25 , m_category_index(-1)
27 m_roles[CategoryResults::RoleUri] = "uri";
28 m_roles[CategoryResults::RoleIconHint] = "icon";
29 m_roles[CategoryResults::RoleMimetype] = "mimetype";
30 m_roles[CategoryResults::RoleTitle] = "title";
31 m_roles[CategoryResults::RoleComment] = "comment";
32 m_roles[CategoryResults::RoleDndUri] = "dnd_uri";
35CategoryResults::~CategoryResults()
39int CategoryResults::categoryIndex() const
41 return m_category_index;
44void CategoryResults::setCategoryIndex(int index)
46 if (m_category_index != index) {
47 m_category_index = index;
48 Q_EMIT categoryIndexChanged(m_category_index);
49 }
52QHash<int, QByteArray>
53CategoryResults::roleNames() const
55 return m_roles;
58QVariant
59CategoryResults::data(const QModelIndex& index, int role) const
61 if (!index.isValid()) {
62 return QVariant();
63 }
65 switch (role) {
66 case RoleUri:
67 return DeeListModel::data(index, 0);
68 case RoleIconHint:
69 return DeeListModel::data(index, 1);
70 case RoleMimetype:
71 return DeeListModel::data(index, 4);
72 case RoleTitle:
73 return DeeListModel::data(index, 5);
74 case RoleComment:
75 return DeeListModel::data(index, 6);
76 case RoleDndUri:
77 return DeeListModel::data(index, 7);
78 default:
79 return QVariant();
80 }