1
0
Fork 0
forked from len0rd/rockbox

rbutil: Upps, forgot 2 new files for creating a zip.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17441 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Wenger 2008-05-10 17:55:53 +00:00
parent acccee479a
commit 6e812b1d2e
2 changed files with 109 additions and 0 deletions

67
rbutil/rbutilqt/rbzip.cpp Normal file
View file

@ -0,0 +1,67 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2008 by Dominik Wenger
* $Id: rbzip.cpp 17129 2008-04-15 21:25:57Z bluebrother $
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include "rbzip.h"
#include <QtCore>
Zip::ErrorCode RbZip::createZip(QString zip,QString dir,ProgressloggerInterface *dp)
{
m_logger = dp;
Zip::ErrorCode error = Ok;
m_curEntry = 1;
int numEntrys=0;
m_logger->addItem(tr("Creating Backup: %1").arg(zip),LOGINFO);
QCoreApplication::processEvents();
// get number of entrys in dir
QDirIterator it(dir, QDirIterator::Subdirectories);
while (it.hasNext())
{
it.next();
numEntrys++;
QCoreApplication::processEvents();
}
m_logger->setProgressMax(numEntrys);
//! create zip
error = Zip::createArchive(zip);
if(error != Ok)
return error;
//! add the content
error = Zip::addDirectory(dir);
if(error != Ok)
return error;
//! close zip
error = Zip::closeArchive();
return error;
}
void RbZip::progress()
{
m_curEntry++;
m_logger->setProgressValue(m_curEntry);
QCoreApplication::processEvents(); // update UI
}

42
rbutil/rbutilqt/rbzip.h Normal file
View file

@ -0,0 +1,42 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2008 by Dominik Wenger
* $Id: rbzip.h 16993 2008-04-06 18:12:56Z bluebrother $
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef RBZIP_H
#define RBZIP_H
#include <QtCore>
#include "zip/zip.h"
#include "progressloggerinterface.h"
class RbZip : public QObject, public Zip
{
Q_OBJECT
public:
Zip::ErrorCode createZip(QString zip,QString dir,ProgressloggerInterface *dp);
virtual void progress();
private:
int m_curEntry;
ProgressloggerInterface *m_logger;
};
#endif