1
/* This file is part of KDevelop
2
Copyright 2008 Aleix Pol <aleixpol@kde.org>
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Library General Public
6
License as published by the Free Software Foundation; either
7
version 2 of the License, or (at your option) any later version.
9
This library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
Library General Public License for more details.
14
You should have received a copy of the GNU Library General Public License
15
along with this library; see the file COPYING.LIB. If not, write to
16
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
Boston, MA 02110-1301, USA.
20
#ifndef KDEVPLATFORM_PLUGIN_VCSOVERLAYPROXYMODEL_H
21
#define KDEVPLATFORM_PLUGIN_VCSOVERLAYPROXYMODEL_H
23
#include <qidentityproxymodel.h>
24
#include <project/projectmodel.h>
32
class VcsOverlayProxyModel : public QIdentityProxyModel
37
VcsStatusRole = KDevelop::ProjectModel::LastRole
39
explicit VcsOverlayProxyModel(QObject* parent = nullptr);
41
QVariant data(const QModelIndex& proxyIndex, int role = Qt::DisplayRole) const override;
44
void addProject(KDevelop::IProject* p);
45
void removeProject(KDevelop::IProject* p);
46
void repositoryBranchChanged(const QUrl& url);
47
void branchNameReady(KDevelop::VcsJob* job);
50
QModelIndex indexFromProject(QObject* project);
51
QHash<KDevelop::IProject*, QString> m_branchName;
54
#endif // KDEVPLATFORM_PLUGIN_VCSOVERLAYPROXYMODEL_H