~kdevelop/kdevplatform/master

« back to all changes in this revision

Viewing changes to plugins/projectmanagerview/vcsoverlayproxymodel.h

  • Committer: Friedrich W. H. Kossebau
  • Date: 2017-08-13 21:54:31 UTC
  • Revision ID: git-v1:8ce76bea4df0831deb2fb243af33cc90d3cc8043
Wipe master branch and point in README to new location

Summary: also add util script for moving over existing personal branches

Reviewers: #kdevelop, apol, kfunk

Reviewed By: #kdevelop, apol, kfunk

Subscribers: kfunk, kdevelop-devel

Differential Revision: https://phabricator.kde.org/D7244

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* This file is part of KDevelop
2
 
    Copyright 2008 Aleix Pol <aleixpol@kde.org>
3
 
 
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.
8
 
 
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.
13
 
 
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.
18
 
*/
19
 
 
20
 
#ifndef KDEVPLATFORM_PLUGIN_VCSOVERLAYPROXYMODEL_H
21
 
#define KDEVPLATFORM_PLUGIN_VCSOVERLAYPROXYMODEL_H
22
 
 
23
 
#include <qidentityproxymodel.h>
24
 
#include <project/projectmodel.h>
25
 
 
26
 
class QUrl;
27
 
namespace KDevelop {
28
 
    class IProject;
29
 
    class VcsJob;
30
 
}
31
 
 
32
 
class VcsOverlayProxyModel : public QIdentityProxyModel
33
 
{
34
 
    Q_OBJECT
35
 
    public:
36
 
        enum Roles {
37
 
            VcsStatusRole = KDevelop::ProjectModel::LastRole
38
 
        };
39
 
        explicit VcsOverlayProxyModel(QObject* parent = nullptr);
40
 
 
41
 
        QVariant data(const QModelIndex& proxyIndex, int role = Qt::DisplayRole) const override;
42
 
 
43
 
    private Q_SLOTS:
44
 
        void addProject(KDevelop::IProject* p);
45
 
        void removeProject(KDevelop::IProject* p);
46
 
        void repositoryBranchChanged(const QUrl& url);
47
 
        void branchNameReady(KDevelop::VcsJob* job);
48
 
 
49
 
    private:
50
 
        QModelIndex indexFromProject(QObject* project);
51
 
        QHash<KDevelop::IProject*, QString> m_branchName;
52
 
};
53
 
 
54
 
#endif // KDEVPLATFORM_PLUGIN_VCSOVERLAYPROXYMODEL_H