File indexing completed on 2024-05-12 12:38:11
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