2
* Copyright 2014 Canonical Ltd.
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.
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.
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/>.
17
* Mirco Mueller <mirco.mueller@canonical.com>
20
#include "MockActionModel.h"
22
struct ActionModelPrivate {
23
QList<QString> labels;
27
ActionModel::ActionModel(QObject *parent) : QStringListModel(parent), p(new ActionModelPrivate) {
28
insertAction("ok_id", "Ok");
29
insertAction("cancel_id", "Cancel");
32
ActionModel::~ActionModel() {
35
int ActionModel::rowCount(const QModelIndex &index) const {
36
return p->labels.size();
39
QVariant ActionModel::data(const QModelIndex &index, int role) const {
45
return QVariant(p->labels[index.row()]);
48
return QVariant(p->ids[index.row()]);
55
QHash<int, QByteArray> ActionModel::roleNames() const {
56
QHash<int, QByteArray> roles;
58
roles.insert(RoleActionLabel, "label");
59
roles.insert(RoleActionId, "id");
64
Q_INVOKABLE QVariant ActionModel::data(int row, int role) const
66
return data(index(row, 0), role);
69
void ActionModel::insertAction(const QString &id, const QString &label) {
71
p->labels.push_back(label);