summaryrefslogtreecommitdiff
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 @@
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20#include "installzip.h" 20#include "installzip.h"
21#include "rbunzip.h"
21 22
22#include "zip/zip.h"
23#include "zip/unzip.h"
24 23
25ZipInstaller::ZipInstaller(QObject* parent): QObject(parent) 24ZipInstaller::ZipInstaller(QObject* parent): QObject(parent)
26{ 25{
@@ -135,21 +134,29 @@ void ZipInstaller::downloadDone(bool error)
135 134
136 qDebug() << "file to unzip: " << m_file; 135 qDebug() << "file to unzip: " << m_file;
137 UnZip::ErrorCode ec; 136 UnZip::ErrorCode ec;
138 UnZip uz; 137 RbUnZip uz;
138 connect(&uz, SIGNAL(unzipProgress(int, int)), this, SLOT(updateDataReadProgress(int, int)));
139 connect(m_dp, SIGNAL(aborted()), &uz, SLOT(abortUnzip()));
139 ec = uz.openArchive(m_file); 140 ec = uz.openArchive(m_file);
140 if(ec != UnZip::Ok) { 141 if(ec != UnZip::Ok) {
141 m_dp->addItem(tr("Opening archive failed: %1.") 142 m_dp->addItem(tr("Opening archive failed: %1.")
142 .arg(uz.formatError(ec)),LOGERROR); 143 .arg(uz.formatError(ec)),LOGERROR);
144 m_dp->setProgressMax(1);
145 m_dp->setProgressValue(1);
143 m_dp->abort(); 146 m_dp->abort();
144 emit done(true); 147 emit done(true);
145 return; 148 return;
146 } 149 }
147 150
148 ec = uz.extractAll(m_mountpoint); 151 ec = uz.extractArchive(m_mountpoint);
152 // TODO: better handling of aborted unzip operation.
149 if(ec != UnZip::Ok) { 153 if(ec != UnZip::Ok) {
150 m_dp->addItem(tr("Extracting failed: %1.") 154 m_dp->addItem(tr("Extracting failed: %1.")
151 .arg(uz.formatError(ec)),LOGERROR); 155 .arg(uz.formatError(ec)),LOGERROR);
152 m_dp->abort(); 156 m_dp->abort();
157 m_dp->setProgressMax(1);
158 m_dp->setProgressValue(1);
159
153 emit done(true); 160 emit done(true);
154 return; 161 return;
155 } 162 }