on 2492425 help sign in
unity8/plugins/Unity/Launcher/quicklistmodel.cpp
73 lines 1.9 kB history raw
1/*
2 * Copyright 2013 Canonical Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors:
17 * Michael Zanetti <michael.zanetti@canonical.com>
18 */
20#include "quicklistmodel.h"
22QuickListModel::QuickListModel(QObject *parent) :
23 QuickListModelInterface(parent)
28QuickListModel::~QuickListModel()
33void QuickListModel::appendAction(const QuickListEntry &entry)
35 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
36 m_list.append(entry);
37 endInsertRows();
40void QuickListModel::updateAction(const QuickListEntry &entry)
42 for (int i = 0; i < m_list.count(); ++i) {
43 if (m_list.at(i).actionId() == entry.actionId()) {
44 m_list.replace(i, entry);
45 Q_EMIT dataChanged(index(i), index(i));
46 return;
47 }
48 }
51QuickListEntry QuickListModel::get(int index) const
53 return m_list.at(index);
56int QuickListModel::rowCount(const QModelIndex &index) const
58 Q_UNUSED(index)
59 return m_list.count();
62QVariant QuickListModel::data(const QModelIndex &index, int role) const
64 switch (role) {
65 case RoleLabel:
66 return m_list.at(index.row()).text();
67 case RoleIcon:
68 return m_list.at(index.row()).icon();
69 case RoleClickable:
70 return m_list.at(index.row()).clickable();
71 }
72 return QVariant();