diff options
Diffstat (limited to 'rbutil/rbutilqt/installzip.cpp')
-rw-r--r-- | rbutil/rbutilqt/installzip.cpp | 15 |
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 | ||
25 | ZipInstaller::ZipInstaller(QObject* parent): QObject(parent) | 24 | ZipInstaller::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 | } |