@@ -149,8 +149,12 @@ PluginFinishType CliPzipPlugin::extractFiles(const QList<FileEntry> &files, cons
149149 readStdout ();
150150 });
151151
152- connect (m_process, SIGNAL (finished (int , QProcess::ExitStatus)),
153- this , SLOT (processFinished (int , QProcess::ExitStatus)));
152+ #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
153+ connect (m_process, QOverload<int , QProcess::ExitStatus>::of (&QProcess::finished),
154+ this , &CliPzipPlugin::processFinished);
155+ #else
156+ connect (m_process, &QProcess::finished, this , &CliPzipPlugin::processFinished);
157+ #endif
154158
155159 m_process->start ();
156160
@@ -186,9 +190,14 @@ PluginFinishType CliPzipPlugin::addFiles(const QList<FileEntry> &files, const Co
186190 // 静默模式
187191 arguments << " -q" ;
188192
193+ // 压缩级别(如果指定)
194+ if (options.iCompressionLevel >= 1 && options.iCompressionLevel <= 9 ) {
195+ arguments << " -l" << QString::number (options.iCompressionLevel );
196+ }
197+
189198 // 线程数(如果指定)
190199 if (options.iCPUTheadNum > 0 ) {
191- arguments << " -j " << QString::number (options.iCPUTheadNum );
200+ arguments << " -c " << QString::number (options.iCPUTheadNum );
192201 }
193202
194203 // 输出文件
@@ -217,8 +226,12 @@ PluginFinishType CliPzipPlugin::addFiles(const QList<FileEntry> &files, const Co
217226 qDebug () << " pzip stderr:" << QString::fromLocal8Bit (errorOutput);
218227 });
219228
220- connect (m_process, SIGNAL (finished (int , QProcess::ExitStatus)),
221- this , SLOT (processFinished (int , QProcess::ExitStatus)));
229+ #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
230+ connect (m_process, QOverload<int , QProcess::ExitStatus>::of (&QProcess::finished),
231+ this , &CliPzipPlugin::processFinished);
232+ #else
233+ connect (m_process, &QProcess::finished, this , &CliPzipPlugin::processFinished);
234+ #endif
222235
223236 m_process->start ();
224237
@@ -435,16 +448,23 @@ void CliPzipPlugin::readStdout(bool handleAll)
435448 }
436449}
437450
451+ #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
438452void CliPzipPlugin::processFinished (int exitCode, QProcess::ExitStatus exitStatus)
439453{
440454 qInfo () << " pzip process finished, exitcode:" << exitCode << " exitstatus:" << exitStatus;
455+ #else
456+ void CliPzipPlugin::processFinished (int exitCode)
457+ {
458+ QProcess::ExitStatus exitStatus = m_process ? m_process->exitStatus () : QProcess::NormalExit;
459+ qInfo () << " pzip process finished, exitcode:" << exitCode << " exitstatus:" << exitStatus;
460+ #endif
441461
442462 deleteProcess ();
443463 m_timer->stop ();
444464
445465 PluginFinishType eFinishType;
446466
447- if (0 == exitCode) {
467+ if (0 == exitCode && exitStatus == QProcess::NormalExit ) {
448468 eFinishType = PFT_Nomral;
449469 } else {
450470 eFinishType = PFT_Error;
0 commit comments