Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
    }
}
Exemplo n.º 3
0
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();
    }
}
Exemplo n.º 4
0
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();
                }
            }
        }
    }
}
Exemplo n.º 5
0
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());
    }
}
Exemplo n.º 6
0
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);
	}
}