Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/remotefile.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ class RemoteFile final : public QObject {
QDir basePath() const { return _basePath; }
QString localFilePath() const { return _localFilePath; }
bool localFileExists() const { return QFile(_localFilePath).exists(); }
QFile &localFile() const { return QFile(_localFilePath); }
#if defined(Q_OS_WIN)
QFile &localFile() const { return QFile(_localFilePath); }
#endif
bool isMemoryOnly() const { return _memoryOnly; }
QString errorMsg() const { return _error; }
QByteArray bytes() const { return _bytes; }
Expand Down
27 changes: 15 additions & 12 deletions src/zip.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,21 +88,24 @@ void Zip::extract(const QString &out) {
}

void Zip::extractTarGz() {
auto gzProcess = new QProcess(this);
QStringList gzArgs{ "-zxf", _in };
Logger::Debug(_extractProgram + " " + gzArgs.join(" "));
auto gzProcess = new QProcess(this);

connect(gzProcess, static_cast<void(QProcess:: *)(int, QProcess::ExitStatus)>(&QProcess::finished), [=](int exitCode, QProcess::ExitStatus exitStatus) {
delete gzProcess;
emit extracted(true);
});
if(!QDir(_out).exists()) {
if(!QDir(_out).mkpath(".")) {
Logger::Debug("cannot create: " + _out);
}
}

gzProcess->start(_extractProgram, gzArgs);
QStringList gzArgs{ "-zxf", _in, "-C", _out };
Logger::Debug(_extractProgram + " " + gzArgs.join(" "));

if(!gzProcess->waitForStarted()) {
Logger::Debug("gzProcess failed to start!");
emit extracted(false);
}
connect(gzProcess, static_cast<void(QProcess:: *)(int, QProcess::ExitStatus)>(&QProcess::finished), [=](int exitCode, QProcess::ExitStatus exitStatus) {
delete gzProcess;
_extracted = true;
emit extracted(true);
});

gzProcess->start(_extractProgram, gzArgs);
}
#else
void Zip::extract() {
Expand Down
2 changes: 1 addition & 1 deletion src/zip.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class Zip final : public QObject {
#if defined(Q_OS_WIN)
QString _extractProgram = "7za.exe";
#elif defined(Q_OS_DARWIN)
QString _extractProgtam = "tar";
QString _extractProgram = "tar";
#else
#endif

Expand Down