File indexing completed on 2024-04-28 16:01:32

0001 /******************************************************************************
0002  * This file is part of the libqgit2 library
0003  * Copyright (c) 2011 Laszlo Papp <djszapi@archlinux.us>
0004  * Copyright (C) 2013 Leonardo Giordani
0005  *
0006  * This library is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU Lesser General Public
0008  * License as published by the Free Software Foundation; either
0009  * version 2.1 of the License, or (at your option) any later version.
0010  *
0011  * This library is distributed in the hope that it will be useful,
0012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0014  * Lesser General Public License for more details.
0015  *
0016  * You should have received a copy of the GNU Lesser General Public
0017  * License along with this library; if not, write to the Free Software
0018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0019  */
0020 
0021 #include "qgitindexmodel.h"
0022 
0023 #include <qgitindexentry.h>
0024 
0025 namespace LibQGit2
0026 {
0027 
0028 IndexModel::IndexModel(const Index& index, QObject *parent)
0029     : QAbstractListModel(parent)
0030     , m_index(index)
0031 {
0032 }
0033 
0034 IndexModel::~IndexModel()
0035 {
0036 }
0037 
0038 int IndexModel::rowCount(const QModelIndex& parent) const
0039 {
0040     if (parent.isValid()) {
0041         return 0;
0042     } else {
0043         return m_index.entryCount();
0044     }
0045 }
0046 
0047 QVariant IndexModel::data(const QModelIndex& index, int role) const
0048 {
0049     if (index.parent().isValid())
0050         return QVariant();
0051 
0052     if (index.column() != 0)
0053         return QVariant();
0054 
0055     if (role == Qt::DisplayRole || role == Qt::EditRole) {
0056         IndexEntry entry = m_index.getByIndex(index.row());
0057         return entry.path();
0058     } else {
0059         return QVariant();
0060     }
0061 }
0062 
0063 }