From 74f40aa76a59135eefdb30a61638799f66490bf1 Mon Sep 17 00:00:00 2001 From: Slávek Banko Date: Sun, 17 Jun 2012 19:09:27 +0200 Subject: [Ark] Repairs and extensions Added support for Arj Added support for check archives Added support for password processing Fix show broken filenames into real UTF-8 This closes Bug 1030 (cherry picked from commit 1c84948d57c174bcd9732a5a0a51d42d3626d000) --- ark/tar.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'ark/tar.cpp') diff --git a/ark/tar.cpp b/ark/tar.cpp index 4cdb792..1c1fac9 100644 --- a/ark/tar.cpp +++ b/ark/tar.cpp @@ -785,5 +785,42 @@ void TarArch::customEvent( TQCustomEvent *ev ) } } +void TarArch::test() +{ + clearShellOutput(); + + KProcess *kp = m_currentProcess = new KProcess; + kp->clearArguments(); + + TQString uncomp = getUnCompressor(); + + *kp << uncomp; + + if( uncomp == "bunzip2" || uncomp == "gunzip" || uncomp == "lzop" ) + { + *kp << "-t"; + } + else + { + Arch::test(); + return; + } + + *kp << m_filename; + + connect( kp, SIGNAL( receivedStdout(KProcess*, char*, int) ), + SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); + connect( kp, SIGNAL( receivedStderr(KProcess*, char*, int) ), + SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); + connect( kp, SIGNAL( processExited(KProcess*) ), + SLOT( slotTestExited(KProcess*) ) ); + + if ( !kp->start( KProcess::NotifyOnExit, KProcess::AllOutput ) ) + { + KMessageBox::error( 0, i18n( "Could not start a subprocess." ) ); + emit sigTest( false ); + } +} + #include "tar.moc" // kate: space-indent on; -- cgit v1.2.3