2
* Copyright (C) 2014 Canonical, Ltd.
5
* Michał Sawicz <michal.sawicz@canonical.com>
6
* Michal Hruby <michal.hruby@canonical.com>
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; version 3.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
17
* You should have received a copy of the GNU General Public License
18
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22
#include "fake_preview_model.h"
25
#include <QVariantMap>
36
PreviewData(QString const& id_, QString const& type_, QVariantMap const& data_): id(id_), type(type_), data(data_)
41
PreviewModel::PreviewModel(QObject* parent) : QAbstractListModel(parent)
43
m_roles[Roles::RoleWidgetId] = "widgetId";
44
m_roles[Roles::RoleType] = "type";
45
m_roles[Roles::RoleProperties] = "properties";
50
void PreviewModel::populateWidgets()
53
m_previewWidgets.clear();
54
for (int i = 0; i <= 20; i++) {
55
// FIXME: the API will expose nicer getters soon, use those!
56
QVariantMap attributes;
57
attributes["text"] = QVariant::fromValue(QString("Widget %1").arg(i));
58
attributes["title"] = QVariant::fromValue(QString("Title %1").arg(i));
59
PreviewData* preview_data = new PreviewData(QString("widget-%1").arg(i), QString("text"), attributes);
60
m_previewWidgets.append(QSharedPointer<PreviewData>(preview_data));
66
void PreviewModel::triggered(QString widgetId, QString actionId, QVariantMap data)
68
Q_EMIT actionTriggered(widgetId, actionId, data);
71
QHash<int, QByteArray> PreviewModel::roleNames() const
76
int PreviewModel::rowCount(const QModelIndex&) const
78
return m_previewWidgets.size();
81
QVariant PreviewModel::data(const QModelIndex& index, int role) const
83
auto widget_data = m_previewWidgets.at(index.row());
86
return widget_data->id;
88
return widget_data->type;
90
return widget_data->data;
96
} // namespace scopes_ng