~mterry/+junk/u8.2

« back to all changes in this revision

Viewing changes to tests/mocks/Unity/Notifications/MockActionModel.cpp

  • Committer: Michael Terry
  • Date: 2014-11-17 14:56:04 UTC
  • mfrom: (1317.1.118 unity8)
  • Revision ID: michael.terry@canonical.com-20141117145604-96dn9p5nwkifq2f4
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 2014 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
 *      Mirco Mueller <mirco.mueller@canonical.com>
 
18
 */
 
19
 
 
20
#include "MockActionModel.h"
 
21
 
 
22
struct ActionModelPrivate {
 
23
    QList<QString> labels;
 
24
    QList<QString> ids;
 
25
};
 
26
 
 
27
ActionModel::ActionModel(QObject *parent) : QStringListModel(parent), p(new ActionModelPrivate) {
 
28
    insertAction("ok_id", "Ok");
 
29
    insertAction("cancel_id", "Cancel");
 
30
}
 
31
 
 
32
ActionModel::~ActionModel() {
 
33
}
 
34
 
 
35
int ActionModel::rowCount(const QModelIndex &index) const {
 
36
    return p->labels.size();
 
37
}
 
38
 
 
39
QVariant ActionModel::data(const QModelIndex &index, int role) const {
 
40
    if (!index.isValid())
 
41
            return QVariant();
 
42
 
 
43
    switch(role) {
 
44
        case RoleActionLabel:
 
45
            return QVariant(p->labels[index.row()]);
 
46
 
 
47
        case RoleActionId:
 
48
            return QVariant(p->ids[index.row()]);
 
49
 
 
50
        default:
 
51
            return QVariant();
 
52
    }
 
53
}
 
54
 
 
55
QHash<int, QByteArray> ActionModel::roleNames() const {
 
56
    QHash<int, QByteArray> roles;
 
57
 
 
58
    roles.insert(RoleActionLabel, "label");
 
59
    roles.insert(RoleActionId, "id");
 
60
 
 
61
    return roles;
 
62
}
 
63
 
 
64
Q_INVOKABLE QVariant ActionModel::data(int row, int role) const
 
65
{
 
66
    return data(index(row, 0), role);
 
67
}
 
68
 
 
69
void ActionModel::insertAction(const QString &id, const QString &label) {
 
70
    p->ids.push_back(id);
 
71
    p->labels.push_back(label);
 
72
}