File indexing completed on 2025-01-05 05:14:48

0001 /*
0002 SPDX-FileCopyrightText: 2021 Hamed Masafi <hamed.masfi@gmail.com>
0003 
0004 SPDX-License-Identifier: GPL-3.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "appdialog.h"
0010 #include "libkommitwidgets_export.h"
0011 #include "ui_clonedialog.h"
0012 
0013 #include "commands/commandclone.h"
0014 
0015 namespace Git
0016 {
0017 
0018 class Credential;
0019 class CloneObserver;
0020 }
0021 
0022 class LIBKOMMITWIDGETS_EXPORT CloneDialog : public AppDialog, private Ui::CloneDialog
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     explicit CloneDialog(QWidget *parent = nullptr);
0028     ~CloneDialog() override;
0029 
0030     Q_REQUIRED_RESULT Git::CloneCommand *command();
0031 
0032     void setLocalPath(const QString &path);
0033 
0034 private Q_SLOTS:
0035     void slotCredentialRequeted(const QString &url, Git::Credential *cred);
0036 
0037 private:
0038     void slotUrlChanged(const QString &text);
0039     void slotAccepted();
0040     void loadSettings();
0041     QString mFixedPath;
0042 
0043     Git::CloneObserver *mCloneObserver;
0044 };