2 * Copyright (C) 2013 Canonical, Ltd.
5 * Michal Hruby <michal.hruby@canonical.com>
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.
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.
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/>.
21#include "categoryresults.h"
24// TODO: use something from libunity once it's public
37CategoryResults::CategoryResults(QObject* parent)
38 : DeeListModel(parent)
41 m_roles[CategoryResults::RoleUri] = "uri";
42 m_roles[CategoryResults::RoleIconHint] = "icon";
43 m_roles[CategoryResults::RoleCategory] = "category";
44 m_roles[CategoryResults::RoleMimetype] = "mimetype";
45 m_roles[CategoryResults::RoleTitle] = "title";
46 m_roles[CategoryResults::RoleComment] = "comment";
47 m_roles[CategoryResults::RoleDndUri] = "dndUri";
48 m_roles[CategoryResults::RoleMetadata] = "metadata";
49 m_roles[CategoryResults::RoleRendererHints] = "rendererHints";
52int CategoryResults::categoryIndex() const
54 return m_categoryIndex;
57void CategoryResults::setCategoryIndex(int index)
59 if (m_categoryIndex != index) {
60 m_categoryIndex = index;
61 Q_EMIT categoryIndexChanged(m_categoryIndex);
66CategoryResults::roleNames() const
72CategoryResults::data(const QModelIndex& index, int role) const
74 if (!index.isValid()) {
80 return DeeListModel::data(index, ResultsColumn::URI);
82 QString giconString(DeeListModel::data(index, ResultsColumn::ICON_HINT).toString());
83 if (giconString.isEmpty()) {
84 QString mimetype(DeeListModel::data(index, ResultsColumn::MIMETYPE).toString());
85 QString uri(DeeListModel::data(index, ResultsColumn::URI).toString());
86 QString thumbnailerUri(uriToThumbnailerProviderString(uri, mimetype, DeeListModel::data(index, ResultsColumn::METADATA).toHash()));
87 if (!thumbnailerUri.isNull()) {
88 return QVariant::fromValue(thumbnailerUri);
91 return QVariant::fromValue(gIconToDeclarativeImageProviderString(giconString));
94 return DeeListModel::data(index, ResultsColumn::CATEGORY);
96 return DeeListModel::data(index, ResultsColumn::MIMETYPE);
98 return DeeListModel::data(index, ResultsColumn::TITLE);
100 return DeeListModel::data(index, ResultsColumn::COMMENT);
102 return DeeListModel::data(index, ResultsColumn::DND_URI);
104 return DeeListModel::data(index, ResultsColumn::METADATA);
105 case RoleRendererHints:
107 QVariantHash hash(DeeListModel::data(index, ResultsColumn::METADATA).toHash());
108 if (hash.contains("content")) {
110 QVariantHash innerHash(hash["content"].toHash());
111 if (innerHash.contains("scope_disabled")) {
112 hints["scope_disabled"] = innerHash["scope_disabled"];
114 return hints.empty() ? QVariant() : QVariant::fromValue(hints);
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list