diff --git a/tools/triage/mainwindow.cpp b/tools/triage/mainwindow.cpp index 8651b797f..2033d2aa8 100644 --- a/tools/triage/mainwindow.cpp +++ b/tools/triage/mainwindow.cpp @@ -10,6 +10,7 @@ #include const QString WORK_FOLDER(QDir::homePath() + "/triage"); +const QString DACA2_PACKAGES(QDir::homePath() + "/daca2-packages"); MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), @@ -61,6 +62,32 @@ void MainWindow::loadFile() } } +static bool wget(const QString url) +{ + QProcess process; + process.setWorkingDirectory(WORK_FOLDER); + process.start("wget", QStringList() << url); + return process.waitForFinished(-1); +} + +static bool unpackArchive(const QString archiveName) +{ + // Unpack archive + QStringList args; + if (archiveName.endsWith(".tar.gz")) + args << "xzvf"; + else if (archiveName.endsWith(".tar.bz2")) + args << "xjvf"; + else if (archiveName.endsWith(".tar.xz")) + args << "xJvf"; + args << archiveName; + + QProcess process; + process.setWorkingDirectory(WORK_FOLDER); + process.start("tar", args); + return process.waitForFinished(-1); +} + void MainWindow::showResult(QListWidgetItem *item) { if (!item->text().startsWith("ftp://")) @@ -77,27 +104,19 @@ void MainWindow::showResult(QListWidgetItem *item) const QString fileName = msg.left(msg.indexOf(":")); const int lineNumber = msg.mid(pos1+1,pos2-pos1-1).toInt(); - QProcess process; - process.setWorkingDirectory(WORK_FOLDER); - - if (!QFileInfo(WORK_FOLDER + '/' + archiveName).exists()) { - // Download archive - process.start("wget", QStringList()<