summaryrefslogtreecommitdiffstats
path: root/rbutil/rbutilqt/installzip.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/installzip.cpp')
-rw-r--r--rbutil/rbutilqt/installzip.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/rbutil/rbutilqt/installzip.cpp b/rbutil/rbutilqt/installzip.cpp
index ae9cabdc24..6514c6d13d 100644
--- a/rbutil/rbutilqt/installzip.cpp
+++ b/rbutil/rbutilqt/installzip.cpp
@@ -18,9 +18,8 @@
****************************************************************************/
#include "installzip.h"
+#include "rbunzip.h"
-#include "zip/zip.h"
-#include "zip/unzip.h"
ZipInstaller::ZipInstaller(QObject* parent): QObject(parent)
{
@@ -135,21 +134,29 @@ void ZipInstaller::downloadDone(bool error)
qDebug() << "file to unzip: " << m_file;
UnZip::ErrorCode ec;
- UnZip uz;
+ RbUnZip uz;
+ connect(&uz, SIGNAL(unzipProgress(int, int)), this, SLOT(updateDataReadProgress(int, int)));
+ connect(m_dp, SIGNAL(aborted()), &uz, SLOT(abortUnzip()));
ec = uz.openArchive(m_file);
if(ec != UnZip::Ok) {
m_dp->addItem(tr("Opening archive failed: %1.")
.arg(uz.formatError(ec)),LOGERROR);
+ m_dp->setProgressMax(1);
+ m_dp->setProgressValue(1);
m_dp->abort();
emit done(true);
return;
}
- ec = uz.extractAll(m_mountpoint);
+ ec = uz.extractArchive(m_mountpoint);
+ // TODO: better handling of aborted unzip operation.
if(ec != UnZip::Ok) {
m_dp->addItem(tr("Extracting failed: %1.")
.arg(uz.formatError(ec)),LOGERROR);
m_dp->abort();
+ m_dp->setProgressMax(1);
+ m_dp->setProgressValue(1);
+
emit done(true);
return;
}