From 8b9f540b428d5b2141c6f17893fc2cb0c9ecdbf2 Mon Sep 17 00:00:00 2001 From: tpearson Date: Tue, 7 Sep 2010 22:57:14 +0000 Subject: * Merged bugfix patches from Chakra project git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1172733 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- ark/rar.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'ark/rar.cpp') diff --git a/ark/rar.cpp b/ark/rar.cpp index 554fdfc..5219b08 100644 --- a/ark/rar.cpp +++ b/ark/rar.cpp @@ -32,6 +32,7 @@ // QT includes #include #include +#include // KDE includes #include @@ -89,9 +90,14 @@ RarArch::RarArch( ArkWidget *_gui, const TQString & _fileName ) bool RarArch::processLine( const TQCString &line ) { + TQString unicode_line; + + TQTextCodec *codec = TQTextCodec::codecForLocale(); + unicode_line = codec->toUnicode( line ); + if ( m_isFirstLine ) { - m_entryFilename = TQString::fromLocal8Bit( line ); + m_entryFilename = TQString::fromLocal8Bit( unicode_line ); m_entryFilename.remove( 0, 1 ); m_isFirstLine = false; return true; @@ -99,7 +105,7 @@ bool RarArch::processLine( const TQCString &line ) TQStringList list; - TQStringList l2 = TQStringList::split( ' ', line ); + TQStringList l2 = TQStringList::split( ' ', unicode_line ); list << m_entryFilename; // filename list << l2[ 0 ]; // size @@ -253,8 +259,10 @@ void RarArch::unarchFileInternal() { *kp << "-o-"; } + + TQTextCodec *codec = TQTextCodec::codecForLocale(); - *kp << m_filename; + *kp << codec->fromUnicode(m_filename); // if the file list is empty, no filenames go on the command line, // and we then extract everything in the archive. @@ -263,11 +271,11 @@ void RarArch::unarchFileInternal() TQStringList::Iterator it; for ( it = m_fileList->begin(); it != m_fileList->end(); ++it ) { - *kp << (*it); + *kp << codec->fromUnicode(*it); } } - *kp << m_destDir ; + *kp << codec->fromUnicode(m_destDir); connect( kp, TQT_SIGNAL( receivedStdout(KProcess*, char*, int) ), TQT_SLOT( slotReceivedOutput(KProcess*, char*, int) ) ); -- cgit v1.2.1