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 54 55 56 57 58 59 60 61 62 63
|
/*
SPDX-FileCopyrightText: 2010 Aleix Pol Gonzalez <aleixpol@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef KDEVPLATFORM_PROJECTSOURCEPAGE_H
#define KDEVPLATFORM_PROJECTSOURCEPAGE_H
#include <QWidget>
class KJob;
class QUrl;
namespace Ui { class ProjectSourcePage; }
namespace KDevelop
{
class VcsJob;
class IProjectProvider;
class IProjectProviderWidget;
class IPlugin;
class IBasicVersionControl;
class VcsLocationWidget;
class ProjectSourcePage : public QWidget
{
Q_OBJECT
public:
explicit ProjectSourcePage(const QUrl& initial, const QUrl& repoUrl, IPlugin* preSelectPlugin,
QWidget* parent = nullptr);
~ProjectSourcePage() override;
QUrl workingDir() const;
private Q_SLOTS:
void setSourceIndex(int index);
void checkoutVcsProject();
void projectReceived(KJob* job);
void reevaluateCorrection();
void progressChanged(KJob*, unsigned long);
void infoMessage(KJob*, const QString& text, const QString& rich);
void locationChanged();
void projectChanged(const QString& name);
Q_SIGNALS:
void isCorrect(bool);
private:
void setSourceWidget(int index, const QUrl& repoUrl);
void setStatus(const QString& message);
void clearStatus();
KDevelop::IBasicVersionControl* vcsPerIndex(int index);
KDevelop::IProjectProvider* providerPerIndex(int index);
KDevelop::VcsJob* jobPerCurrent();
Ui::ProjectSourcePage* m_ui;
QList<KDevelop::IPlugin*> m_plugins;
KDevelop::VcsLocationWidget* m_locationWidget;
KDevelop::IProjectProviderWidget* m_providerWidget;
};
}
#endif // KDEVPLATFORM_PROJECTSOURCEPAGE_H
|