débogage et modifications suite perte de code :-( )
This commit is contained in:
+58
-22
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user