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:
parent
acccee479a
commit
6e812b1d2e
2 changed files with 109 additions and 0 deletions
67
rbutil/rbutilqt/rbzip.cpp
Normal file
67
rbutil/rbutilqt/rbzip.cpp
Normal 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
42
rbutil/rbutilqt/rbzip.h
Normal 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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue