diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2012-06-17 19:09:27 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2012-06-17 19:48:22 +0200 |
commit | 74f40aa76a59135eefdb30a61638799f66490bf1 (patch) | |
tree | db382e95bc9e9216cd2ffc67291bcaa9e5c7bf14 /ark/tar.cpp | |
parent | 4b45c94a3a80aea92d839c793a9d5160e42d2af8 (diff) | |
download | tdeutils-74f40aa76a59135eefdb30a61638799f66490bf1.tar.gz tdeutils-74f40aa76a59135eefdb30a61638799f66490bf1.zip |
[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)
Diffstat (limited to 'ark/tar.cpp')
-rw-r--r-- | ark/tar.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
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; |