[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdeutils/ark
From:       Henrique Pinto <stampede () uai ! com ! br>
Date:       2004-01-12 17:45:53
Message-ID: 20040112174553.3B6CE9059 () office ! kde ! org
[Download RAW message or body]

CVS commit by pinto: 

Correctly support RAR archives containing directories.


  M +22 -12    rar.cpp   1.19
  M +3 -1      rar.h   1.13


--- kdeutils/ark/rar.cpp  #1.18:1.19
@@ -65,26 +65,36 @@ RarArch::RarArch( ArkSettings *_settings
 
   m_headerString = "-------------------------------------------------------------------------------";
 +
+  m_isFirstLine = true;
 }
 
 bool RarArch::processLine(const QCString &line)
 {
+  if ( m_isFirstLine )
+  {
+    m_fileName = line.stripWhiteSpace();
+    m_isFirstLine = false;
+    return true;
+  }
+
   QStringList list;
 
   QStringList l2 = QStringList::split( ' ', line );
 
-  list << l2[ 0 ]; // filename
-  list << l2[ 1 ]; // size
-  list << l2[ 2 ]; // packed
-  list << l2[ 3 ]; // ratio
+  list << m_fileName; // filename
+  list << l2[ 0 ]; // size
+  list << l2[ 1 ]; // packed
+  list << l2[ 2 ]; // ratio
 
-  QStringList date =  QStringList::split( '-', l2[ 4 ] );
-  list << ArkUtils::fixYear( date[ 2 ].latin1() ) + "-" + date[ 1 ] + "-" + date [ 0 \
                ] + " " + l2[5]; // date
-  list << l2[ 6 ]; // attributes
-  list << l2[ 7 ]; // crc
-  list << l2[ 8 ]; // method
-  list << l2[ 9 ]; // Version
+  QStringList date =  QStringList::split( '-', l2[ 3 ] );
+  list << ArkUtils::fixYear( date[ 2 ].latin1() ) + "-" + date[ 1 ] + "-" + date [ 0 \
] + " " + l2[4]; // date +  list << l2[ 5 ]; // attributes
+  list << l2[ 6 ]; // crc
+  list << l2[ 7 ]; // method
+  list << l2[ 8 ]; // Version
 
   m_gui->listingAdd(&list); // send to GUI
 
+  m_isFirstLine = true;
   return true;
 }
@@ -101,5 +111,5 @@ void RarArch::open()
   
   KProcess *kp = new KProcess;
-  *kp << m_archiver_program << "l" << "-c-" << m_filename;
+  *kp << m_archiver_program << "v" << "-c-" << m_filename;
   connect( kp, SIGNAL(receivedStdout(KProcess*, char*, int)),
            this, SLOT(slotReceivedTOC(KProcess*, char*, int)));

--- kdeutils/ark/rar.h  #1.12:1.13
@@ -60,4 +60,6 @@ protected slots:
 
 private: // data
+  bool m_isFirstLine;
+  QString m_fileName;
 
   void initExtract( bool, bool, bool );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic