summaryrefslogtreecommitdiffstats
path: root/ark/tar.cpp
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2012-06-17 19:09:27 +0200
committerSlávek Banko <slavek.banko@axis.cz>2012-06-17 19:48:22 +0200
commit74f40aa76a59135eefdb30a61638799f66490bf1 (patch)
treedb382e95bc9e9216cd2ffc67291bcaa9e5c7bf14 /ark/tar.cpp
parent4b45c94a3a80aea92d839c793a9d5160e42d2af8 (diff)
downloadtdeutils-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.cpp37
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;