aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/desktop-utils/lumina-fm-dev/gitWizard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/desktop-utils/lumina-fm-dev/gitWizard.cpp')
-rw-r--r--src-qt5/desktop-utils/lumina-fm-dev/gitWizard.cpp138
1 files changed, 0 insertions, 138 deletions
diff --git a/src-qt5/desktop-utils/lumina-fm-dev/gitWizard.cpp b/src-qt5/desktop-utils/lumina-fm-dev/gitWizard.cpp
deleted file mode 100644
index 7edfc95f..00000000
--- a/src-qt5/desktop-utils/lumina-fm-dev/gitWizard.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//===========================================
-// Lumina-DE source code
-// Copyright (c) 2016, Ken Moore
-// Available under the 3-clause BSD license
-// See the LICENSE file for full details
-//===========================================
-// This is the dialog for cloning a git repository
-//===========================================
-#include "gitWizard.h"
-#include "ui_gitWizard.h"
-
-#include "gitCompat.h"
-#include <QDebug>
-#include <QThread>
-
-GitWizard::GitWizard(QWidget *parent) : QWizard(parent), ui(new Ui::GitWizard){
- ui->setupUi(this); //load the designer form
- proc = 0; //not initialized yet
- connect(this, SIGNAL(currentIdChanged(int)), this, SLOT(pageChanged(int)) );
- //connect(this, SIGNAL(finished(int)), this, SLOT(finished(int)) );
- connect(ui->line_repo_org, SIGNAL(textChanged(const QString&)), this, SLOT(validateRepo()) );
- connect(ui->line_repo_name, SIGNAL(textChanged(const QString&)), this, SLOT(validateRepo()) );
- connect(ui->line_ssh_pass, SIGNAL(textChanged(const QString&)), this, SLOT(validateType()) );
- connect(ui->line_user, SIGNAL(textChanged(const QString&)), this, SLOT(validateType()) );
- connect(ui->line_pass, SIGNAL(textChanged(const QString&)), this, SLOT(validateType()) );
- connect(ui->radio_type_ssh, SIGNAL(clicked()), this, SLOT(validateType()) );
- connect(ui->radio_type_login, SIGNAL(clicked()), this, SLOT(validateType()) );
- connect(ui->radio_type_anon, SIGNAL(clicked()), this, SLOT(validateType()) );
- connect(ui->check_depth, SIGNAL(clicked()), this, SLOT(validateType()) );
- connect(ui->check_branch, SIGNAL(clicked()), this, SLOT(validateType()) );
- validateRepo();
-}
-
-GitWizard::~GitWizard(){
- if(proc!=0){ proc->deleteLater(); }
-}
-
-//Input values;
-void GitWizard::setWorkingDir(QString path){
- inDir = path;
-}
-
-//============
-// PRIVATE
-// ============
-QString GitWizard::assembleURL(){
- QString repo = ui->line_repo_org->text()+"/"+ui->line_repo_name->text()+".git";
- QString url;
- if(ui->radio_type_ssh->isChecked()){ url = "git@github.com:"+repo; }
- else if(ui->radio_type_anon->isChecked()){ url = "https://github.com/"+repo; }
- else if(ui->radio_type_login->isChecked()){
- url = "https://"+ui->line_user->text()+":"+ui->line_pass->text()+"@github.com/"+repo;
- }
-
- return url;
-}
-
-/*void GitWizard::showDownload(GitProcess *P){
-
- //P->closeWriteChannel();
- //P->closeReadChannel(GitProcess::StandardOutput);
- //P->closeReadChannel(GitProcess::StandardError);
- while(P->state()!=QProcess::NotRunning){
- this->thread()->usleep(50000); //50 ms
- QApplication::processEvents();
- }
- P->deleteLater();
-}*/
-
-//================
-// PRIVATE SLOTS
-// ================
-void GitWizard::pageChanged(int newpage){
- //called when the "next" button is clicked
- if(this->page(newpage)==ui->page_repo){
- validateRepo();
- }else if(this->page(newpage)==ui->page_type){
- //Need to adjust items on this page based on info on last page
- ui->radio_type_anon->setEnabled( !ui->check_privaterepo->isChecked() );
- ui->radio_type_ssh->setEnabled( QFile::exists(QDir::homePath()+"/.ssh/id_rsa") ); //TODO - Disable for now until SSH passphrases can be used properly
- //Now set the preferred type of login based on which are available
- if(ui->radio_type_ssh->isEnabled()){ ui->radio_type_ssh->setChecked(true); } //SSH is preferred if that is available
- else if(ui->radio_type_anon->isEnabled()){ ui->radio_type_anon->setChecked(true); } //anonymous next since it is a public repo - no creds really needed
- else{ ui->radio_type_login->setChecked(true); }
- //Clear any of the UI as needed
- ui->line_user->clear(); ui->line_pass->clear(); ui->line_ssh_pass->clear();
- validateType();
- }else if(this->page(newpage)==ui->page_download){
- qDebug() << "Run git clone";
- QString url = assembleURL();
- QString branch; if(ui->check_branch->isChecked()){ branch = ui->line_branch->text(); }
- int depth = -1; if(ui->check_depth->isChecked()){ depth = ui->spin_depth->value(); }
- proc = GIT::setupClone(inDir, url, branch, depth);
- if(proc!=0){
- connect(proc, SIGNAL(readyReadStandardOutput()), this, SLOT(readProc()) );
- connect(proc, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(procFinished(int)) );
- if(ui->radio_type_ssh->isChecked()){
- proc->setSSHPassword(ui->line_ssh_pass->text());
- }
- proc->start(QIODevice::ReadOnly);
- this->button(QWizard::FinishButton)->setEnabled(false);
- }
- }
-}
-
-//Page validation slots
-void GitWizard::validateRepo(){
- bool ok = !ui->line_repo_org->text().isEmpty() && !ui->line_repo_name->text().isEmpty();
- this->button(QWizard::NextButton)->setEnabled(ok);
-}
-
-void GitWizard::validateType(){
- bool ok = false;
- //Check types first
- if(ui->radio_type_login->isChecked()){ ok = !ui->line_user->text().isEmpty() && !ui->line_pass->text().isEmpty(); }
- else{ ok = true; }
- //Now check optional settings
- if(ui->check_branch->isChecked()){ ok = ok && !ui->line_branch->text().isEmpty(); }
- if(ui->check_branch->isChecked()){ ok = ok && !ui->line_branch->text().isEmpty(); }
- //Now make interface boxes appear/disappear as needed
- ui->line_ssh_pass->setVisible(ui->radio_type_ssh->isChecked());
- ui->line_user->setVisible(ui->radio_type_login->isChecked());
- ui->line_pass->setVisible(ui->radio_type_login->isChecked());
- ui->spin_depth->setVisible(ui->check_depth->isChecked());
- ui->line_branch->setVisible(ui->check_branch->isChecked());
-
- //Update the button as needed
- this->button(QWizard::NextButton)->setEnabled(ok);
-}
-
-void GitWizard::readProc(){
- ui->text_procOutput->append( proc->readAllStandardOutput() );
-}
-
-void GitWizard::procFinished(int retcode){
- this->button(QWizard::FinishButton)->setEnabled(true);
-}
-
bgstack15