File indexing completed on 2024-04-28 04:37:48

0001 /*
0002     SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #ifndef KDEVPLATFORM_PLUGIN_PROJECTVCSPAGE_H
0008 #define KDEVPLATFORM_PLUGIN_PROJECTVCSPAGE_H
0009 
0010 #include "appwizardpagewidget.h"
0011 
0012 namespace Ui
0013 {
0014 class ProjectVcsPage;
0015 }
0016 
0017 namespace KDevelop
0018 {
0019 class IPluginController;
0020 class VcsImportMetadataWidget;
0021 class VcsLocation;
0022 }
0023 
0024 class QUrl;
0025 
0026 class ProjectVcsPage : public AppWizardPageWidget
0027 {
0028     Q_OBJECT
0029 public:
0030     explicit ProjectVcsPage( KDevelop::IPluginController*, QWidget* parent = nullptr );
0031     ~ProjectVcsPage() override;
0032     bool shouldContinue() override;
0033 Q_SIGNALS:
0034     void valid();
0035     void invalid();
0036 public Q_SLOTS:
0037     void setSourceLocation( const QUrl& );
0038     void vcsTypeChanged(int);
0039     void validateData();
0040 public:
0041     QString pluginName() const;
0042     QUrl source() const;
0043     KDevelop::VcsLocation destination() const;
0044     QString commitMessage() const;
0045 private:
0046     QList<KDevelop::VcsImportMetadataWidget*> importWidgets;
0047     KDevelop::VcsImportMetadataWidget* m_currentImportWidget;
0048     QVector<QPair<QString, QString>> vcsPlugins;
0049     Ui::ProjectVcsPage* m_ui;
0050 };
0051 
0052 #endif