Example #1
0
void QuaZipEx::recurseAddDir(QDir d, QStringList & list) {

    QStringList qsl = d.entryList(QDir::NoDotAndDotDot | QDir::Dirs | QDir::Files);

    foreach (QString file, qsl) {

        QFileInfo finfo(QString("%1/%2").arg(d.path()).arg(file));

        if (finfo.isSymLink())
            return;

        if (finfo.isDir()) {

            QString dirname = finfo.fileName();
            QDir sd(finfo.filePath());

            recurseAddDir(sd, list);

        } else
            list << QDir::toNativeSeparators(finfo.filePath());
    }
Example #2
0
bool Zip::archive(const QString &filePath, const QDir &dir, const QString &comment)
{
    QuaZip zip(filePath);

    if (!zip.open(QuaZip::mdCreate)) {
        return false;
    }

    if (!dir.exists()) {
        return false;
    }


    QFile inFile;
    QStringList sl;
    recurseAddDir(dir, &sl);

    QFileInfoList files;
    foreach (QString fn, sl) {
        files << QFileInfo(fn);
    }