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