Move all the things (YES. Move them.)
Also, implemented some basic modlist logic, to be wired up.
This commit is contained in:
123
depends/quazip/JlCompress.h
Normal file
123
depends/quazip/JlCompress.h
Normal file
@ -0,0 +1,123 @@
|
||||
#ifndef JLCOMPRESSFOLDER_H_
|
||||
#define JLCOMPRESSFOLDER_H_
|
||||
|
||||
#include "quazip.h"
|
||||
#include "quazipfile.h"
|
||||
#include "quazipfileinfo.h"
|
||||
#include <QString>
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QFile>
|
||||
|
||||
/// Utility class for typical operations.
|
||||
/**
|
||||
This class contains a number of useful static functions to perform
|
||||
simple operations, such as mass ZIP packing or extraction.
|
||||
*/
|
||||
class QUAZIP_EXPORT JlCompress {
|
||||
private:
|
||||
/// Compress a single file.
|
||||
/**
|
||||
\param zip Opened zip to compress the file to.
|
||||
\param fileName The full path to the source file.
|
||||
\param fileDest The full name of the file inside the archive.
|
||||
\return true if success, false otherwise.
|
||||
*/
|
||||
static bool compressFile(QuaZip* zip, QString fileName, QString fileDest);
|
||||
/// Compress a subdirectory.
|
||||
/**
|
||||
\param parentZip Opened zip containing the parent directory.
|
||||
\param dir The full path to the directory to pack.
|
||||
\param parentDir The full path to the directory corresponding to
|
||||
the root of the ZIP.
|
||||
\param recursive Whether to pack sub-directories as well or only
|
||||
files.
|
||||
\return true if success, false otherwise.
|
||||
*/
|
||||
static bool compressSubDir(QuaZip* parentZip, QString dir, QString parentDir, bool recursive = true);
|
||||
/// Extract a single file.
|
||||
/**
|
||||
\param zip The opened zip archive to extract from.
|
||||
\param fileName The full name of the file to extract.
|
||||
\param fileDest The full path to the destination file.
|
||||
\return true if success, false otherwise.
|
||||
*/
|
||||
static bool extractFile(QuaZip* zip, QString fileName, QString fileDest);
|
||||
/// Remove some files.
|
||||
/**
|
||||
\param listFile The list of files to remove.
|
||||
\return true if success, false otherwise.
|
||||
*/
|
||||
static bool removeFile(QStringList listFile);
|
||||
|
||||
public:
|
||||
/// Compress a single file.
|
||||
/**
|
||||
\param fileCompressed The name of the archive.
|
||||
\param file The file to compress.
|
||||
\return true if success, false otherwise.
|
||||
*/
|
||||
static bool compressFile(QString fileCompressed, QString file);
|
||||
/// Compress a list of files.
|
||||
/**
|
||||
\param fileCompressed The name of the archive.
|
||||
\param files The file list to compress.
|
||||
\return true if success, false otherwise.
|
||||
*/
|
||||
static bool compressFiles(QString fileCompressed, QStringList files);
|
||||
/// Compress a whole directory.
|
||||
/**
|
||||
\param fileCompressed The name of the archive.
|
||||
\param dir The directory to compress.
|
||||
\param recursive Whether to pack the subdirectories as well, or
|
||||
just regular files.
|
||||
\return true if success, false otherwise.
|
||||
*/
|
||||
static bool compressDir(QString fileCompressed, QString dir = QString(), bool recursive = true);
|
||||
|
||||
public:
|
||||
/// Extract a single file.
|
||||
/**
|
||||
\param fileCompressed The name of the archive.
|
||||
\param fileName The file to extract.
|
||||
\param fileDest The destination file, assumed to be identical to
|
||||
\a file if left empty.
|
||||
\return The list of the full paths of the files extracted, empty on failure.
|
||||
*/
|
||||
static QString extractFile(QString fileCompressed, QString fileName, QString fileDest = QString());
|
||||
/// Extract a list of files.
|
||||
/**
|
||||
\param fileCompressed The name of the archive.
|
||||
\param files The file list to extract.
|
||||
\param dir The directory to put the files to, the current
|
||||
directory if left empty.
|
||||
\return The list of the full paths of the files extracted, empty on failure.
|
||||
*/
|
||||
static QStringList extractFiles(QString fileCompressed, QStringList files, QString dir = QString());
|
||||
/// Extract a whole archive.
|
||||
/**
|
||||
\param fileCompressed The name of the archive.
|
||||
\param dir The directory to extract to, the current directory if
|
||||
left empty.
|
||||
\return The list of the full paths of the files extracted, empty on failure.
|
||||
*/
|
||||
static QStringList extractDir(QString fileCompressed, QString dir = QString());
|
||||
/// Extract a whole archive, with a list of exceptions (prefixes to ignore).
|
||||
/**
|
||||
\param fileCompressed The name of the archive.
|
||||
\param dir The directory to extract to, the current directory if
|
||||
left empty.
|
||||
\param exceptions The list of exception prefixes
|
||||
\return The list of the full paths of the files extracted, empty on failure.
|
||||
*/
|
||||
static QStringList extractWithExceptions(QString fileCompressed, QString dir, QStringList exceptions);
|
||||
/// Get the file list.
|
||||
/**
|
||||
\return The list of the files in the archive, or, more precisely, the
|
||||
list of the entries, including both files and directories if they
|
||||
are present separately.
|
||||
*/
|
||||
static QStringList getFileList(QString fileCompressed);
|
||||
};
|
||||
|
||||
#endif /* JLCOMPRESSFOLDER_H_ */
|
Reference in New Issue
Block a user