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

List:       kde-commits
Subject:    kdenonbeta/karchiver
From:       Eric Coquelle <eric.coquelle () gmail ! com>
Date:       2006-09-15 0:43:33
Message-ID: 1158281013.697903.5961.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 584485 by coquelle:

*HUGE* speed improvement in handling (display) of Rar archives. It now uses \
KArchiveDirectory, and the MyKRar class can be seen as a "read-only" analog of KZip, \
except that it contains no Rar algorithms but calls to KProcess and the rar/unrar \
tools. Rar archives can now be displayed directories by directories, as a file \
browser.


 M  +2 -0      ChangeLog  
 M  +1 -1      Makefile.am  
 M  +11 -6     crar.h  
 A             mykrar.cpp   [License: LGPL (v2)]
 A             mykrar.h   [License: LGPL (v2)]


--- trunk/kdenonbeta/karchiver/ChangeLog #584484:584485
@@ -2,6 +2,8 @@
 
 * v3.4.2
 Added possibility to convert an archive to these formats: .arj, .7z, .sit
+Added: now one can browse Rar archives directories by directories
+Improvement: HUGE speed access to Rar files
 Fixed conversion of archives when using the wizard
 
 * v3.4.2-b1
--- trunk/kdenonbeta/karchiver/Makefile.am #584484:584485
@@ -38,7 +38,7 @@
 	caddfilesdata.cpp caddfiles.cpp ktipofday.cpp cfinddata.cpp cfind.cpp \
 	cproprietes.cpp cpreferencesdata.cpp cpreferences.cpp clistview.cpp car.cpp \
csit.cpp\  cwizardstep3data.cpp cwizardstep3.cpp cwizardsfx.cpp canimation.cpp \
-	cwizardstep1patch.cpp cwizardinstallation.cpp cwizardcutt.cpp \
+	cwizardstep1patch.cpp cwizardinstallation.cpp cwizardcutt.cpp mykrar.cpp \
 	cwizardconversion.cpp cwizardmainpage.cpp cscript.cpp cutt.cpp \
 	crecherche.cpp cnavigateurdata.cpp cnavigateur.cpp cinfosdata.cpp cinfos.cpp \
 	caddfilestoarchive.cpp cled.cpp dirview.cpp cextraction.cpp cchoixfichier.cpp \
                processus.cpp \
--- trunk/kdenonbeta/karchiver/crar.h #584484:584485
@@ -19,6 +19,7 @@
 #define CRAR_H
 
 #include <carchive.h>
+#include "mykrar.h"
 
 /**This class will manage the .rar archives
   *@author Eric Coquelle
@@ -54,7 +55,9 @@
 		@param action : 0=mode append and replace files, 1=mode update files
 		@param relativepath : if !NULL, include only filenames, without their base path */
  void addFilesToArchive( QStringList filestoadd, bool removeoriginalfiles, int \
                action, QString relativepath=NULL);
-  /** Returns true if archive type supports passwords */
+ /*Returns true as zip archives can be listed by KIO*/
+ bool supportDisplayByDirs(){return true;};
+ /** Returns true if archive type supports passwords */
   bool supportPassword();
   /**Returns true if current archive can be repaired*/
   bool canRepairArchive();
@@ -70,11 +73,12 @@
 	void displayRarArchiveContent( const char* line);
 	
 protected slots:
-	void endProcess(KProcess*);
-	void haveSdtOut(KProcess *prpc, char *buffer, int length);
-	/** we recive some informations through the standard
-		* output of the process */
-	void haveSdtOutExtract(KProcess *prpc, char *buffer, int length);
+  void endProcess(KProcess*);
+  void endReadProcess(KProcess*);
+  void haveSdtOut(KProcess *prpc, char *buffer, int length);
+  /** we recive some informations through the standard
+          * output of the process */
+  void haveSdtOutExtract(KProcess *prpc, char *buffer, int length);
   void haveSdtErrExtract(KProcess *prpc, char *buffer, int length);
   void haveStdErr(KProcess *, char *buffer, int length);
 
@@ -89,6 +93,7 @@
   bool passwordrequired;
   int processingRarHeader;
   enum headerStatus {BEGIN_HEADER, BEGIN_COMMENT, END_COMMENT, HEADER_PROCESSED};
+  MyKRar* rarfile;
 
 };
 


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

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