diff --git a/kerfuffle/addtoarchive.h b/kerfuffle/addtoarchive.h --- a/kerfuffle/addtoarchive.h +++ b/kerfuffle/addtoarchive.h @@ -77,6 +77,7 @@ void slotStartJob(); private: + CompressionOptions m_options; QString m_filename; QString m_strippedPath; QString m_autoFilenameSuffix; diff --git a/kerfuffle/addtoarchive.cpp b/kerfuffle/addtoarchive.cpp --- a/kerfuffle/addtoarchive.cpp +++ b/kerfuffle/addtoarchive.cpp @@ -106,6 +106,10 @@ setMimeType(dialog.data()->currentMimeType().name()); setPassword(dialog.data()->password()); setHeaderEncryptionEnabled(dialog.data()->isHeaderEncryptionEnabled()); + m_options.setCompressionLevel(dialog.data()->compressionLevel()); + m_options.setCompressionMethod(dialog.data()->compressionMethod()); + m_options.setEncryptionMethod(dialog.data()->encryptionMethod()); + m_options.setVolumeSize(dialog.data()->volumeSize()); } delete dialog.data(); @@ -171,8 +175,6 @@ m_filename = finalName; } - Kerfuffle::CompressionOptions options; - if (m_changeToFirstPath) { if (m_firstPath.isEmpty()) { qCWarning(ARK) << "Weird, this should not happen. no firstpath defined. aborting"; @@ -187,10 +189,10 @@ } qCDebug(ARK) << "Setting GlobalWorkDir to " << stripDir.path(); - options.setGlobalWorkDir(stripDir.path()); + m_options.setGlobalWorkDir(stripDir.path()); } - auto createJob = Archive::create(m_filename, m_mimeType, m_entries, options, this); + auto createJob = Archive::create(m_filename, m_mimeType, m_entries, m_options, this); if (!m_password.isEmpty()) { createJob->enableEncryption(m_password, m_enableHeaderEncryption);