yacreader/YACReaderLibrary/package_manager.cpp
Luis Ángel San Martín 268bebbddd Use nullptr instead of 0
2019-06-01 16:04:48 +02:00

54 lines
1.7 KiB
C++

#include "package_manager.h"
#include <QCoreApplication>
PackageManager::PackageManager()
: _7z(nullptr)
{
}
void PackageManager::createPackage(const QString &libraryPath, const QString &dest)
{
QStringList attributes;
attributes << "a"
<< "-y"
<< "-ttar" << dest + ".clc" << libraryPath;
_7z = new QProcess();
connect(_7z, SIGNAL(error(QProcess::ProcessError)), this, SLOT(openingError(QProcess::ProcessError)));
connect(_7z, SIGNAL(finished(int, QProcess::ExitStatus)), this, SIGNAL(exported()));
#if defined Q_OS_UNIX && !defined Q_OS_MAC
_7z->start("7z", attributes); //TODO: use 7z.so
#else
_7z->start(QCoreApplication::applicationDirPath() + "/utils/7zip", attributes); //TODO: use 7z.dll
#endif
}
void PackageManager::extractPackage(const QString &packagePath, const QString &destDir)
{
QStringList attributes;
QString output = "-o";
output += destDir;
attributes << "x"
<< "-y" << output << packagePath;
_7z = new QProcess();
connect(_7z, SIGNAL(error(QProcess::ProcessError)), this, SLOT(openingError(QProcess::ProcessError)));
connect(_7z, SIGNAL(finished(int, QProcess::ExitStatus)), this, SIGNAL(imported()));
#if defined Q_OS_UNIX && !defined Q_OS_MAC
_7z->start("7z", attributes); //TODO: use 7z.so
#else
_7z->start(QCoreApplication::applicationDirPath() + "/utils/7zip", attributes); //TODO: use 7z.dll
#endif
}
void PackageManager::cancel()
{
if (_7z != nullptr) {
_7z->disconnect();
_7z->kill();
if (creating) {
//TODO remove dest+".clc"
} else {
//TODO fixed: is done by libraryWindow
}
}
}