2 * Copyright 2013, 2015 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 * Michael Zanetti <michael.zanetti@canonical.com>
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());
40void QuickListModel::insertAction(const QuickListEntry &entry, int index)
42 beginInsertRows(QModelIndex(), index, index);
43 m_list.insert(index, entry);
47void 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));
58void 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));
69QuickListEntry QuickListModel::get(int index) const
71 return m_list.at(index);
74int QuickListModel::rowCount(const QModelIndex &index) const
77 return m_list.count();
80QVariant 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();
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list