débogage et modifications suite perte de code :-( )

This commit is contained in:
2023-01-31 00:45:53 +01:00
parent fe74ab906f
commit 4dbfa8fa97
6 changed files with 81 additions and 68 deletions
+58 -22
View File
@@ -30,12 +30,11 @@ MainWindow::MainWindow(QWidget *parent)
connect(&downloadO, &downloadFile::finishedSignal, this, &MainWindow::downloadFinished);
connect(this, &MainWindow::stopDownloading, &downloadO, &downloadFile::cancelled);
connect(config.buttonBox, SIGNAL(accepted()), this, SLOT(on_buttonBox_accepted()));
connect(config.comboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &MainWindow::on_comboBox_currentIndexChanged);
// init of widgets
ui->ktreewidgetsearchline->setTreeWidget(ui->treeWidget);
ui->ktreewidgetsearchline->setCaseSensitivity(Qt::CaseInsensitive);
ui->treeWidget->setHeaderLabels({tr("Type"), tr("Path"), tr("Size")} );
ui->treeWidget->setHeaderLabels({tr("Path"), tr("Type"), tr("Size")} );
config.comboBox->setCurrentIndex(ui->toolBar->toolButtonStyle());
if (this->settings.contains("connexion/lastServer"))
{
@@ -150,13 +149,13 @@ void MainWindow::populateList()
{
if (validateServer(server.toStdString()))
{
if (!this->settings.contains(server))
{
cout << server.toStdString() << endl;
// storing serverURL and port in settings
this->settings.setValue(server, port);
this->settings.sync();
this->downloading.server = server.toStdString();
// storing in history of combobox
ui->khistorycombobox->addToHistory(server);
@@ -354,12 +353,12 @@ QTreeWidgetItem * MainWindow::addTreeRoot(QString name, QString fileSize, bool i
// QTreeWidgetItem::setText(int column, const QString & text)
if (isDir == true)
{
treeItem->setText(0, "Dir");
treeItem->setText(1, tr("Dir"));
}else
{
treeItem->setText(0,"File");
treeItem->setText(1,tr("File"));
}
treeItem->setText(1, name);
treeItem->setText(0, name);
treeItem->setText(2, fileSize);
return treeItem;
@@ -374,12 +373,12 @@ QTreeWidgetItem * MainWindow::addTreeChild(QTreeWidgetItem *parent, QString name
// QTreeWidgetItem::setText(int column, const QString & text)
if (isDir == true)
{
treeItem->setText(0, "Dir");
treeItem->setText(1, tr("Dir"));
}else
{
treeItem->setText(0,"File");
treeItem->setText(1,("File"));
}
treeItem->setText(1, name);
treeItem->setText(0, name);
treeItem->setText(2, fileSize);
// QTreeWidgetItem::addChild(QTreeWidgetItem * child)
@@ -391,8 +390,15 @@ QTreeWidgetItem * MainWindow::addTreeChild(QTreeWidgetItem *parent, QString name
void MainWindow::on_listWidget_clicked()
{
vector<string> v;
QString str;
v = explode(ui->listWidget->currentItem()->text().toStdString(), '\n', 2);
this->downloading.service = v[0];
str = QString::fromStdString("Folder/" + this->connexion.server + "/" + this->downloading.service);
if (this->settings.contains(str))
{
this->downloading.savePath = this->settings.value(str).toString().toStdString();
}
populateTree(NULL);
}
@@ -403,18 +409,19 @@ void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item)
QFileDialog dialog;
QTreeWidgetItem * itemR;
string path;
QString str;
//item = ui->treeWidget->currentItem();
itemR = item;
path = item->text(1).toStdString();
path = item->text(0).toStdString();
while(itemR->parent() != NULL)
{
itemR = itemR->parent();
path = itemR->text(1).toStdString() + "/" + path;
path = itemR->text(0).toStdString() + "/" + path;
};
if (item->text(0) == "File")
if (item->text(1) == tr("File"))
{
// Item is a file
this->downloading.path = path;
@@ -423,11 +430,19 @@ void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item)
on_DefaultSaveFolder_triggered();
}else if (this->downloading.pid == 0)
{
str = QString::fromStdString("Folder/" + this->connexion.server + "/" + this->downloading.service);
if(this->settings.value(str).toString().isEmpty() and !this->downloading.savePath.empty())
{
this->settings.setValue(str, this->downloading.savePath.c_str());
this->settings.sync();
}
this->downloading.server = this->connexion.server;
startDownloading();
sleep(1);
}
ui->listDownload->addItem(QString::fromStdString(this->downloading.path));
str = QString::fromStdString(this->downloading.path + " => " + this->connexion.server + "/" + this->downloading.service);
ui->listDownload->addItem(str);
}else
{
//Item is a Directory
@@ -456,12 +471,28 @@ void MainWindow::stoppingDownload()
// when download is finished, launch download of next file in queue
void MainWindow::downloadFinished()
{
string path;
int pos;
string str;
ui->progressBar->hide();
delete ui->listDownload->takeItem(0);
this->downloading.pid = 0;
if (ui->listDownload->count() != 0)
{
this->downloading.path = ui->listDownload->item(0)->text().toStdString();
path = ui->listDownload->item(0)->text().toStdString();
pos = path.rfind("/");
this->downloading.service = path.substr(pos+1);
path.resize(pos);
pos = path.rfind(" => ");
this->downloading.server = path.substr(pos+4);
path.resize(pos);
this->downloading.path = path;
str = "Folder/" + this->downloading.server + "/" + this->downloading.service;
if (this->settings.contains(str.c_str()))
{
this->downloading.savePath = this->settings.value(str.c_str()).toString().toStdString();
}
startDownloading();
}
}
@@ -566,10 +597,20 @@ void MainWindow::on_actionAbout_Qt_triggered()
void MainWindow::on_DefaultSaveFolder_triggered()
{
QFileDialog dialog;
string folder;
string path;
this->downloading.savePath = dialog.getExistingDirectory(this, tr("Choose directory to save file"), QString::fromStdString(this->downloading.savePath), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks).toStdString();
this->settings.setValue("Folder/", this->downloading.savePath.c_str());
this->settings.sync();
path = dialog.getExistingDirectory(this, tr("Choose directory to save file"), QString::fromStdString(this->downloading.savePath), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks).toStdString();
if (!path.empty())
{
this->downloading.savePath = path;
if (!this->downloading.service.empty() and !this->connexion.server.empty())
{
folder = "Folder/" + this->connexion.server + "/" + this->downloading.service;
this->settings.setValue(folder.c_str(), this->downloading.savePath.c_str());
this->settings.sync();
}
}
}
// Activated when menu "settings" is clicked
@@ -601,8 +642,3 @@ void MainWindow::on_buttonBox_accepted()
this->settings.sync();
Configuration.hide();
}
void MainWindow::on_comboBox_currentIndexChanged(int index)
{
ui->toolBar->setToolButtonStyle((Qt::ToolButtonStyle)index);
}