1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/*
SPDX-FileCopyrightText: 2010 Aleix Pol Gonzalez <aleixpol@kde.org>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#ifndef KDEVPLATFORM_PROJECTCHANGESMODEL_H
#define KDEVPLATFORM_PROJECTCHANGESMODEL_H
#include <vcs/models/vcsfilechangesmodel.h>
#include <vcs/interfaces/ibasicversioncontrol.h>
#include "projectexport.h"
class KJob;
namespace KDevelop {
class IProject;
class IDocument;
class KDEVPLATFORMPROJECT_EXPORT ProjectChangesModel : public VcsFileChangesModel
{
Q_OBJECT
public:
enum Role { ProjectNameRole = LastItemRole+1 };
explicit ProjectChangesModel(QObject* parent);
~ProjectChangesModel() override;
void updateState(KDevelop::IProject* p, const KDevelop::VcsStatusInfo& status);
void changes(KDevelop::IProject* project, const QList<QUrl>& urls, KDevelop::IBasicVersionControl::RecursionMode mode);
public Q_SLOTS:
void reloadAll();
void reload(const QList<KDevelop::IProject*>& p);
void reload(const QList<QUrl>& p);
void addProject(KDevelop::IProject* p);
void removeProject(KDevelop::IProject* p);
void statusReady(KJob* job);
void documentSaved(KDevelop::IDocument*);
void itemsAdded(const QModelIndex& idx, int start, int end);
void jobUnregistered(KJob*);
void repositoryBranchChanged(const QUrl& url);
void branchNameReady(KDevelop::VcsJob* job);
private:
QStandardItem* projectItem(KDevelop::IProject* p) const;
};
}
#endif // KDEVPLATFORM_PROJECTCHANGESMODEL_H
|