void Widget::addToList(const QUrlInfo &urlInfo) { QTreeWidgetItem *item = new QTreeWidgetItem; QPixmap pixmap(urlInfo.isDir() ? ":fileImage/images/dir.png" : ":fileImage/images/file.png"); item->setIcon(0, pixmap); item->setText(0, urlInfo.name()); if(urlInfo.isDir()) { // item->setText(1, QString::number(getDirSize(urlInfo.name()))); } else if(urlInfo.isFile()) { item->setText(1, QString::number(urlInfo.size())); // item->setText(2, urlInfo.owner()); // item->setText(3, urlInfo.group()); // item->setText(1, QString::number(urlInfo.size()); } else qDebug() << "addToList() if else"; item->setText(2, urlInfo.lastModified().toString("yyyy/M/d h:m:ss")); //*** isDirectory[urlInfo.name()] = urlInfo.isDir(); ui->fileListTreeWidget->addTopLevelItem(item); // if(!ui->fileListTreeWidget->currentItem()) // { // ui->fileListTreeWidget->setCurrentItem(ui->fileListTreeWidget->topLevelItem(0)); // ui->fileListTreeWidget->setEnabled(true); // } return; }
void Transfer::OnListInfo(const QUrlInfo& info){ switch(list_step_){ case IN_ROOT:{ if(info.isDir() &&info.name() == HOST_NAME){ have_host_ = true; } }break; case IN_HOST:{ if(info.isDir() &&info.name() == g_configuer->user_name_){ have_user_dir_ = true; } }break; case IN_USER_NAME:{ if(info.isFile()){ have_no_file_ = false; ftp_.remove(info.name()); } }break; default: break; } }
QIcon Convert::getFileIcon(const QUrlInfo& url) { static QFileIconProvider fileIconProvider; if(url.isFile()) { return fileIconProvider.icon(QFileIconProvider::File); } else if(url.isDir()) { return fileIconProvider.icon(QFileIconProvider::Folder); } else { return QIcon(); } }
void FTPUpdate::listInfoReceived(const QUrlInfo &info) { //Only check filenames if (info.isFile()) { //Get version from file QString fileName = info.name(); if (fileName.startsWith("ArpmanetDC")) { QString version = fileName; version.remove("ArpmanetDC v"); version.remove(".exe"); //Check if newer version if (firstVersionLarger(version, VERSION_STRING) && version != VERSION_STRING) { //If this is just a version check if (ftpServer->currentId() == listIndex) { newestVersion = version; newerVersionAvailable = true; } //If this is a download request else if (ftpServer->currentId() == downloadListIndex) { //Get file downloadingFileName = fileName; QString currentPath = QDir::currentPath(); if (!currentPath.endsWith("/")) currentPath.append("/"); file.setFileName(currentPath + downloadingFileName); if (file.exists()) file.remove(); //Remove existing file to ensure appending works file.open(QIODevice::Append); downloadGetIndex = ftpServer->get(fileName); ftpServer->close(); } } } } }
void MainWindow::dlFile(QUrlInfo info) { if(info.isFile()){ files.append(new QFile(info.name())); if(!files.last()->open(QIODevice::WriteOnly)){ delete files.last(); QMessageBox msgBox; msgBox.setText("Erreur lors de la creation de fichier"); msgBox.exec(); return; } nbFileDld++; ftp->get(info.name(), files.last()); } }
void TelechargerFichier::nouveauTelechargement(const QString lien) { show(); emit DesactiverIcone(); if (lien.isEmpty() && lineLien->text().isEmpty()) return; QUrl urlFichier = lineLien->text(); if (!lien.isEmpty()) urlFichier = lien; QUrlInfo infosUrl; infosUrl.setName(lineLien->text()); if (!lien.isEmpty()) infosUrl.setName(lien); if (infosUrl.isFile()) { QFileInfo infosDL(infosUrl.name()); if (QMessageBox::question(this, "Multiuso", "Voulez-vous enregistrer <em>« " + infosDL.fileName() + " »</em> ?", QMessageBox::Yes | QMessageBox::No) == QMessageBox::No) return; QSettings emplacementDossier(Multiuso::appDirPath() + "/ini/config.ini", QSettings::IniFormat); QDir dir; dir.mkpath(emplacementDossier.value("telechargements/dossier").toString() + "/Multiuso - Téléchargements"); QFile fileTmp(emplacementDossier.value("telechargements/dossier").toString() + "/Multiuso - Téléchargements/" + infosDL.fileName()); if (fileTmp.exists()) { int reponse = QMessageBox::question(this, "Multiuso", "Le fichier <em>« " + infosDL.fileName() + " »</em> existe déjà !<br />" "Voulez-vous le remplacer ?", QMessageBox::Yes | QMessageBox::No); if (reponse == QMessageBox::Yes) fileTmp.remove(); else return; } QNetworkRequest requete(urlFichier); QNetworkAccessManager *manager = new QNetworkAccessManager; QNetworkReply *reponse = manager->get(requete); connect(reponse, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(telechargementContinue(qint64, qint64))); connect(reponse, SIGNAL(finished()), this, SLOT(finTelechargement())); reponses << reponse; QProgressBar *progression = new QProgressBar; progressionsTelechargements << progression; nomsFichiers << infosDL.fileName(); QString nomDuFichierActuel = infosDL.fileName(); nomDuFichierActuel = Multiuso::htmlspecialchars(nomDuFichierActuel); QTableWidgetItem *nom = new QTableWidgetItem(nomDuFichierActuel); nom->setFlags(nom->flags() & ~Qt::ItemIsEditable); QTableWidgetItem *statut = new QTableWidgetItem("En attente..."); statut->setFlags(statut->flags() & ~Qt::ItemIsEditable); QPushButton *annuler = new QPushButton; annuler->setToolTip("Téléchargement n°" + QString::number(listeTelechargements->rowCount() + 1)); annuler->setIcon(QIcon(":/icones/telechargements/annuler.png")); connect(annuler, SIGNAL(clicked()), this, SLOT(annulerTelechargement())); int ligne = listeTelechargements->rowCount(); listeTelechargements->setRowCount(listeTelechargements->rowCount() + 1); listeTelechargements->setCellWidget(ligne, 0, annuler); listeTelechargements->setItem(ligne, 1, nom); listeTelechargements->setCellWidget(ligne, 2, progression); listeTelechargements->setItem(ligne, 3, statut); listeTelechargements->resizeColumnsToContents(); listeTelechargements->horizontalHeader()->setStretchLastSection(true); } }