20 #include "quicklistmodel.h" 22 QuickListModel::QuickListModel(QObject *parent) :
23 QuickListModelInterface(parent)
28 QuickListModel::~QuickListModel()
33 void QuickListModel::appendAction(
const QuickListEntry &entry)
35 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
40 void QuickListModel::insertAction(
const QuickListEntry &entry,
int index)
42 beginInsertRows(QModelIndex(), index, index);
43 m_list.insert(index, entry);
47 void QuickListModel::updateAction(
const QuickListEntry &entry)
49 for (
int i = 0; i < m_list.count(); ++i) {
50 if (m_list.at(i).actionId() == entry.actionId()) {
51 m_list.replace(i, entry);
52 Q_EMIT dataChanged(index(i), index(i));
58 void QuickListModel::removeAction(
const QuickListEntry &entry)
60 const int start = m_list.indexOf(entry);
62 beginRemoveRows(QModelIndex(), start, start);
63 m_list.removeOne(entry);
64 Q_EMIT dataChanged(index(start), index(start));
69 QuickListEntry QuickListModel::get(
int index)
const 71 return m_list.at(index);
74 int QuickListModel::rowCount(
const QModelIndex &index)
const 77 return m_list.count();
80 QVariant QuickListModel::data(const QModelIndex &index,
int role)
const 84 return m_list.at(index.row()).text();
86 return m_list.at(index.row()).icon();
88 return m_list.at(index.row()).clickable();
89 case RoleHasSeparator:
90 return m_list.at(index.row()).hasSeparator();
92 return m_list.at(index.row()).isPrivate();